我使用以下正则表达式将 url 转换为 href 链接。它工作得很好,但是我在使用具有背景图像的样式标签时发现了一个错误。
/**
* Convert urls in a string to a html link
* @return string
*/
public static function ConvertUrlsToHtml($str)
{
$str = preg_replace( '@(?<![.*">])\b(?:(?:https?|ftp|file)://|[a-z]\.)[-A-Z0-9+&#/%=~_|$?!:,.]*[A-Z0-9+&#/%=~_|$]@i', '<a href="\0">\0</a>', $str);
return $str;
}
如果我使用以下...
<div class="inner-left" style="background-image: url(http://www.somewebsite/background.jpg);"></div>
它也将背景图像转换为href。
有谁知道我可以如何调整正则表达式以忽略样式标签?