Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 防止预更换发生变化<;A>;元素含量_Php_Preg Replace - Fatal编程技术网

Php 防止预更换发生变化<;A>;元素含量

Php 防止预更换发生变化<;A>;元素含量,php,preg-replace,Php,Preg Replace,我现在有一个我写的链接替换功能,可以找到某些关键字,并将所说的关键字转换为相关内容的链接 到目前为止,它一直工作得相当好,除了偶尔,它添加的链接也包含一个关键字 这个问题已经导致我的关键字变成了一个混乱的hmtl代码和未工作的链接,无论这种情况发生在哪里 我计划做的是在替换之前进行最后一次检查,以验证关键字是否在元素中 是否可以确定内容是否在这些标记之间?如果是,是如何做到的 这些是我用来查找关键字的当前模式 $pattern = "/\b $kw \b/"; $pattern2 = "/\b

我现在有一个我写的链接替换功能,可以找到某些关键字,并将所说的关键字转换为相关内容的链接

到目前为止,它一直工作得相当好,除了偶尔,它添加的链接也包含一个关键字

这个问题已经导致我的关键字变成了一个混乱的hmtl代码和未工作的链接,无论这种情况发生在哪里

我计划做的是在替换之前进行最后一次检查,以验证关键字是否在元素中

是否可以确定内容是否在这些标记之间?如果是,是如何做到的

这些是我用来查找关键字的当前模式

$pattern = "/\b $kw \b/";
$pattern2 = "/\b $kw. \b/";
$pattern3 = "/\b $kw, \b/";

首先,您的模式可以合并为一个:

$pattern = "/\b $kw[.,]? \b/";
我质疑那里的空白。你可能不想要它们

$pattern = "/\b$kw[.,]?\b/";
现在是巫毒黑色雷格克斯魔法末日


$pattern=“并且考虑使用语法分析器代替。

谢谢您的回复。我只是回应说它不起作用,但我也试图把它作为一个条件,而不是仅仅把它放在preg替换中。现在它工作得很好。我听说正则表达式不是修改html的方法,但是这个项目很小,只允许我的管理员输入信息,所以如果有任何问题,我们会马上知道。再次感谢你!
$pattern = "/<a\b.*?<\/a>(*SKIP)(*FAIL)|\b$kw[.,]?\b/";