我一直在考虑在字符串中确定http://并将其放入
对于前。我有一个字符串:Performed at Dublin Pub "You Give Love a Bad Name/Hit The Road Jack" yesterday http://t.co/FgXluI4H
在此字符串中,我http://t.co/FgXluI4H
不可点击。在回显此字符串时,我想确定此http://t.co/FgXluI4H
并将其放入<a href="http://t.co/FgXluI4H" target="_blank">t.co/FgXluI4H</a>
有没有办法做到这一点?
谢谢!
感谢您的帖子配偶!评论中的链接非常有用!
答案 0 :(得分:2)
你可以使用这样的东西:
function makeLink($text){
$reg_exUrl = "/(http|https|ftp|ftps)\://[a-zA-Z0-9-.]+.[a-zA-Z]{2,3}(/\S*)?/";
if(preg_match($reg_exUrl, $text, $url)) $text = preg_replace($reg_exUrl, '<a href="'.$url[0].'" target="_blank">'.$url[0].'</a>', $text);
return $text;
}
答案 1 :(得分:0)
没有对它进行严格的测试,并且对URL结构不是很“挑剔”,但是应该可以工作(对于大量的URL,并且只从http(s)开始)。
$urlRegex = '((https?://))([a-z0-9\.\-]{1,63})\.(([a-z]{2,3})\.?)+/?([^ ]+)';
$parsed = preg_replace('#'.$urlRegex.'#','<a href="$0">$0</a>',$text);