21,887
社区成员
发帖
与我相关
我的任务
分享
$a='https://www.baidu.com<br>aaaaaa<br>https://www.163.com<br>';
$new=preg_replace('/((https|http):\/\/[^<]+)/i',"<a href=\"$1\">$1</a>",$a);
echo $new;
/*
<a href="https://www.baidu.com">https://www.baidu.com</a><br>aaaaaa<br><a href="https://www.163.com">https://www.163.com</a><br>
*/
$a="https://www.baidu.com<br>aaaaaa<br>https://www.163.com<br>";
$ret= preg_replace(
'/((news|telnet|nttp|file|http|ftp|https):\/\/)(([-A-Za-z0-9]+(\.[-A-Za-z0-9]+)*(\.[-A-Za-z]{2,5}))|([0-9]{1,3}(\.[0-9]{1,3}){3}))(:[0-9]*)?(\/[-A-Za-z0-9_\$\.\+\!\*\(\),;:@&=\?\/~\#\%]*)*/',
'<a href="\0">\0</a>',$a);
echo $ret;
?>
url的正则可以换个更好的