<style> 使用正则表达式从 HTML 中删除块



可能的重复项:
如何使用PHP解析和处理HTML?

我希望能够使用 preg_replace 从 HTML 中删除内联 css {} 块。有人知道正则表达式吗?

更新

我不会控制页面。我想从页面中删除所有标记,只需保留内容即可。

有一个很棒的第三方库,使像这样的简单 DOM 操作变得非常容易。

$html = new simple_html_dom();
$html->load($inputString);
foreach($html->find('style') as $style)
    $style->outertext = '';
$outputString = $html->save();

如果您由于某种原因无法使用第三方库,使用 PHP 的内置 DOM 模块仍然是比正则表达式更好的选择。

如果要保留标签,但出于某种原因仅删除其内容,请使用innertext而不是outertext

对于剥离内联 css,这种方法对我来说似乎很奇怪。你为什么不使用javascript甚至jQuery来解决这个问题呢?

只需使用 jQuery 调用 removeAttr。

removerAttr | jQuewry API

首先,正则表达式不是解析 HTML 的方法。 如果你真的想解析 HTML,并且不能使用现有的解决方案,那么使用 PHP 中的 DOM 模块。 http://php.net/manual/en/book.dom.php

幸运的是,PHP 已经有一个函数可以从 HTML 块中剥离标签。 它被称为strip_tags()。 http://php.net/manual/en/function.strip-tags.php

最新更新