gpt4 book ai didi

php正则表达式匹配html标签之外

转载 作者:可可西里 更新时间:2023-11-01 12:41:45 25 4
gpt4 key购买 nike

我正在 html 页面上制作一个 preg_replace。我的模式旨在为 html 中的某些单词添加周围标记。但是,有时我的正则表达式会修改 html 标签。例如,当我尝试替换此文本时:

<a href="example.com" alt="yasar home page">yasar</a>

所以yasar阅读 <span class="selected-word">yasar</span> ,我的正则表达式也替换了 anchor 标记的 alt 属性中的 yasar。当前 preg_replace()我使用的是这样的:

preg_replace("/(asf|gfd|oyws)/", '<span class=something>${1}</span>',$target);

如何制作正则表达式,使其不匹配 html 标签内的任何内容?

最佳答案

您可以为此使用断言,因为您只需确保搜索到的词出现在 > 之后的某个时间。 , 或任何 < 之前.后一个测试更容易完成,因为前瞻断言可以是可变长度的:

/(asf|foo|barr)(?=[^>]*(<|$))/

另见 http://www.regular-expressions.info/lookaround.html以获得对该断言语法的很好解释。

关于php正则表达式匹配html标签之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com