Php使用正则表达式删除带有某个类名的html中的div

时间:2015-01-14 15:32:54

标签: php regex html-parsing preg-replace

我有一些要解析的html,其中包含多个div,标签,链接等。我想通过PHP删除所有具有特定类名称的div:“hide”(即使div有多个类名,它必须工作)。

e.g。

<div class="hide">somecontents, some tags, some subdivs</div>

但也

<div class="row background upperdiv hide green">somecontents, some tags, some subdivs</div>

我试过这个正则表达式:

$replacediv = "/(<div[^>]*class=\"(.*?)hide(.*?)\"[^>]*>*.*<\/div>)/i";
$response = preg_replace($replacediv, '', $response);

但它不起作用!我哪里错了?

1 个答案:

答案 0 :(得分:0)

尝试使用此正则表达式(但如果div包含其他div,则可能会出现问题):

$replacediv = '/<div[^>]+class="[^>]*hide[^>]*"[^>]*>.*?<\/div>/i';
$response = preg_replace($replacediv, '', $response);