聘我网

新概念招聘3.0

PHP正则问题

vote up0vote downstar

如何把文本中的url超链接化,同时避免处理已经在标签内的url,即下面两种情况不需要处理:

$html1 = 'twet <a href="http://51hired.com"> http://51hired.com </a> wer';
$html2 = 'twet <iframe src="http://51hired.com"> </iframe> wer';

这个正则如何写?

 

1 个答复

vote up0vote downcheck

用前向匹配,相关正则是:

'#((?:https?|ftp)://[^\s\'"<>()]+)(?!(?:[^<>]*>)|(?:[^<]*</a>))#iS'

解释一下,关键处在于后半段(?!(?:[^<>]*>)|(?:[^<]*</a>)),表示紧随其后的不是>或者</a>

链接

您的回答





不是您要找的问题? 浏览其他含有标签 的问题或者 自己问个.