我使用这一行在带有 url 的文本中搜索名称。
$name = "xxx";
$text = "my name is xxx en my website is http://xxx.something.com";
$text = preg_replace("/\b(".preg_quote($name, "/").")\b/i", $url, $text);
我如何更改此正则表达式以忽略文本中的 url
最佳答案
1) 您可以使用正则表达式查找所有网址(例如 http://snipplr.com/view/2371/regex-regular-expression-to-match-a-url/ )——记住它们的位置和长度
2) 使用您的正则表达式查找单词的所有出现并记住位置和长度
3) 遍历 2) 的结果并检查该词是否不在 url 中。
关于php - 替换文本中的单词忽略 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3100313/