可能重复:
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]或者什么?
答案 0 :(得分:6)
你的正则表达式的唯一问题是缺少修饰符(si
)但如果你想扩展它以匹配从<h1>
到<h6>
标签,你可以完成这可以通过使用第一个标记的反向引用来实现:
preg_replace("/<h([1-6]{1})>.*?<\/h\\1>/si", '', $content);
这样可以确保您的第一个标记与第二个标记匹配。
您可以在此处了解有关修饰符的更多信息: