我正在使用 preg_replace 替换文本中可能包含一些 url 的单词列表。问题是如果它们是 url 的一部分,我不想替换这些词。
这些例子应该被忽略:
foo.com
foo.com/foo
foo.com/foo/foo
对于一个基本示例(用 php 编写),我尝试使用否定前瞻断言忽略包含.com和可选斜杠和字符的字符串,但没有成功:
preg_replace("/(\b)foo(\b)/", "$1bar$2(?!(\w+\.\w+)*(\.com)([\.\/]\w+)*)", $text);
此调用仅忽略.com之前的单词。任何帮助将非常感激。