PHP 正则表达式
请问现在有字段$a=https://www.baidu.com
aaaaaa
https://www.163.com
请问如何使用正则表达式截取字段,使https://www.baidu.com 和https://www.163.com变为https://www.baidu.com 这种样子的超链接
------解决思路----------------------
1 | <br /> $a = "https://www.baidu.com<br>aaaaaa<br>https://www.163.com<br>" ;<br /><br /> $ret = preg_replace(<br /> '/((news<br><font color=' #FF8000 '>------解决思路----------------------</font><br>telnet<br><font color=' #FF8000 '>------解决思路----------------------</font><br>nttp<br><font color=' #FF8000 '>------解决思路----------------------</font><br>file<br><font color=' #FF8000 '>------解决思路----------------------</font><br>http<br><font color=' #FF8000 '>------解决思路----------------------</font><br>ftp<br><font color=' #FF8000 '>------解决思路----------------------</font><br>https):\/\/)(([-A-Za-z0-9]+(\.[-A-Za-z0-9]+)*(\.[-A-Za-z]{2,5}))<br><font color=' #FF8000 '>------解决思路----------------------</font><br>([0-9]{1,3}(\.[0-9]{1,3}){3}))(:[0-9]*)?(\/[-A-Za-z0-9_\$\.\+\!\*\(\),;:@&=\?\/~\#\%]*)*/' ,<br /> '<a href="\0">\0</a>' , $a );<br /><br /> echo $ret ;<br />?>
|
Copy after login
url的正则可以换个更好的
------解决思路----------------------1 | <br /> $a = 'https://www.baidu.com<br>aaaaaa<br>https://www.163.com<br>' ;<br /> $new =preg_replace( '/((https<br><font color=' #FF8000 '>------解决思路----------------------</font><br>http):\/\/[^<]+)/i' , "<a href=\"$1\">$1</a>" , $a );<br /> echo $new ;<br /> <br />
|
Copy after login