PHP 正则表达式,该如何解决

PHP 正则表达式
请问现在有字段$a=https://www.baidu.com<br>aaaaaa<br>https://www.163.com<br>
请问如何使用正则表达式截取字段,使https://www.baidu.com 和https://www.163.com变为<a href='https://www.baidu.com '>https://www.baidu.com </a>这种样子的超链接
------解决思路----------------------
<?php


$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的正则可以换个更好的
------解决思路----------------------

$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>
*/