【问题标题】:Php Remove div in html with a certain class name with regexPhp 使用正则表达式删除具有特定类名的 html 中的 div
【发布时间】:2023-04-02 23:44:02
【问题描述】:

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

例如

<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);

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

【问题讨论】:

标签: php regex html-parsing preg-replace


【解决方案1】:

试试这个正则表达式(但如果 div 包含另一个 div,你可能会遇到问题):

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

【讨论】:

  • 对我不起作用对不起。即使我没有其他 div 里面
猜你喜欢
相关资源
最近更新 更多
热门标签