在 PHP 中使用正则表达式匹配 HTML 锚标记之外的关键字
匹配 HTML 文本中的关键字可能是一个挑战,尤其是当涉及到避免特定标签内的匹配,例如锚标签(关键字”和“已链接的关键字”。
解决方案
提供的 PHP 代码利用复杂的正则表达式来实现所需的结果:
<code class="php">$str = preg_replace('~Moses(?!(?>[^<]*(?:<(?!/?a\b)[^<]*)*)</a>)~i', '<a href="novo-mega-link.php"></a>', $str);</code>
理解正则表达式
正则表达式包含一个主表达式和一个负前瞻:
说明
正则表达式首先匹配关键字,然后使用否定前瞻来检查是否存在结束 标签,而无需插入 标签。如果前瞻成功,则意味着该关键字包含在锚元素内。 ,因此匹配被丢弃。否则,主表达式与关键字匹配,并替换为指定的 HTML 代码。
实现
提供的代码将修改后的字符串分配给 $str 变量。可以根据需要修改正则表达式以匹配不同的关键字或 HTML 标签。
以上是如何在 PHP 中使用正则表达式排除特定 HTML 标签内的匹配关键字?的详细内容。更多信息请关注PHP中文网其他相关文章!