我使用preg_replace自动在段落中插入HTML链接。带网址问题的preg_replace
这是我目前使用:
$pattern = "~(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))(".preg_quote($find_keyword, '/').")\b~msUi";
$replacement = "<a href=\"http://$kw_url\" title=\"$find_keyword\">\$0</a>";
$article_content = preg_replace($pattern, $replacement, stripslashes($article_content), 1, $added);
它的伟大工程,除1个问题:
不匹配,如果关键字是替换URL。
如果:$find_keyword="http://www.mysite.com/"
即使它在内容中也不会出现任何匹配。
我已经尝试使用preg_quote转义$ find_keyword,它没有任何区别。
任何正则表达式专家都知道一个解决方案吗?谢谢。
我已经尝试过逃跑斜杠运行find_keyword,它没有做任何的不同。 – Ricky 2011-03-28 19:43:05
如果您通过preg_quote()传递$ find_keyword会发生什么情况(您应该将所有输入都转换为正则表达式)? – 2011-03-28 19:45:21
您是否想过链接到http://example.com/的用户'? – Incognito 2011-03-28 19:46:01