我目前有一个链接替换功能,我写了一个找到某些关键字并将关键词转换为相关内容的链接。
到目前为止,它一直运作良好,但有时,它添加的链接也包含关键字。
这个问题导致我的关键字在发生这种情况时变成了混乱的hmtl代码和非工作链接。
我打算做的是在替换之前进行最后一次检查,以验证关键字是否在元素内。
是否可以确定内容是否在这些标签之间?如果是这样,它是如何完成的?
这些是我用来查找关键字的当前模式。
$pattern = "/\b $kw \b/";
$pattern2 = "/\b $kw. \b/";
$pattern3 = "/\b $kw, \b/";
答案 0 :(得分:1)
首先,您的模式可以合并为一个:
$pattern = "/\b $kw[.,]? \b/";
我质疑那里的空白。你可能不想要它们。
$pattern = "/\b$kw[.,]?\b/";
现在 VOODOO BLACK REGIC的魔力 DOOM!
$pattern = "/<a\b.*?<\/a>(*SKIP)(*FAIL)|\b$kw[.,]?\b/";
但要注意THE PONY并考虑使用解析器。