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

时间:2012-12-04 16:35:17

标签: php html regex

  

可能重复:
  How to parse and process HTML with PHP?

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

更新

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

3 个答案:

答案 0 :(得分:5)

有一个很棒的3rd-party library可以让像这样的简单DOM操作非常简单。

$html = new simple_html_dom();
$html->load($inputString);

foreach($html->find('style') as $style)
    $style->outertext = '';

$outputString = $html->save();

如果由于某些原因无法使用第三方库,使用PHP's built-in DOM module仍然是比正则表达式更好的选择。

如果您想保留代码但仅因某些原因删除其内容,请使用innertext代替outertext

答案 1 :(得分:0)

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

只需使用jQuery调用removeAttr。

removerAttr | jQuewry API

答案 2 :(得分:0)

首先,正则表达式不是解析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