代码之家  ›  专栏  ›  技术社区  ›  fire

preg用空格替换h2标签[重复]

  •  0
  • fire  · 技术社区  · 14 年前

    可能重复:
    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 回复  |  直到 14 年前
        1
  •  5
  •   acm    14 年前

    你的正则表达式唯一的问题是缺少修饰符 si thingy)但是如果你想扩展它来匹配 <h1> <h6> 标记,您可以通过使用第一个标记的后引用来完成此操作:

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

    这样可以确保第一个标签与第二个标签匹配。

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

    reference.pcre.pattern.modifiers.php