preg用空格替换h2标签

时间:2010-05-28 14:05:31

标签: php preg-replace

  

可能重复:
  PHP Regular express to remove <h1> tags (and their content)

我有一些看起来像这样的HTML:

<h2>
Fund Management</h2>
<p>
The majority of property investments are now made via our Funds.</p>

尝试使用正则表达式去除h2标记但由于开始和结束h2标记之间的空格而无效。

preg_replace('/<h2>(.+?)<\/h2>/', '', $content);

关于如何使这项工作的任何想法?

另外我理想情况下会更换h1-h6标签,所以它可能需要[1-6]或者什么?

1 个答案:

答案 0 :(得分:6)

你的正则表达式的唯一问题是缺少修饰符(si)但如果你想扩展它以匹配从<h1><h6>标签,你可以完成这可以通过使用第一个标记的反向引用来实现:

preg_replace("/<h([1-6]{1})>.*?<\/h\\1>/si", '', $content);

这样可以确保您的第一个标记与第二个标记匹配。

您可以在此处了解有关修饰符的更多信息:

reference.pcre.pattern.modifiers.php