我认为这不会计算很多组合,我需要从字符串中删除一个具有特定类的段落(它是一致的)
示例:
<p class="special_class">Some content</p>
我想删除仅包含 special_class 的每个段落的内容。所以我想运行一个返回空的正则表达式。我不想使用解析器来执行此操作,我在脚本中使用非常少的函数。
谢谢:)
答案 0 :(得分:2)
使用正则表达式进行HTML解析通常是个坏主意。请查看Simple HTML DOM Parser,找出指定的内容并将其删除。
如果你想使用正则表达式,你可以改为:
preg_replace('/<p class="special_class">[\w\s]*<\/p>/', '<p class="special_class"></p>');
答案 1 :(得分:1)
$result = preg_replace('%<p\s+class="special_class">.*?</p>%s', '', $subject);
应该有效。它会将整个段落从开头删除到结束p
标记。它希望p
标记正确关闭。但是您似乎已经知道使用正则表达式处理HTML的缺点......