我创建了一个自动检测链接的功能。它工作得很好,除非HTML标签刚刚在链接之后开始(没有空格)。
示例:
http://www.google.com is cool
变为
<a href="http://www.google.com" target="_blank">www.google.com</a> is cool
但
http://www.google.com<br />is cool
(实际中http://之后没有空格)变为
<a href="http://www.google.com<br /" target="_blank">www.google.com<br /</a> is cool
我的正则表达式不会在<
停止,但不允许<
...
我该如何解决?或者我如何有效地排除<
?
这是我的功能:
function detect_linkg($str){
return preg_replace('#(https?://)([\w\d.&:\#@%/;$~_?\+-=]*)#','<a href="$1$2" target="_blank">$2</a>',$str);
}
感谢您的帮助!
答案 0 :(得分:1)