剪切http:// somelink / withparams并将其放入<a href=""> tags</a>

时间:2012-09-09 12:52:21

标签: php javascript

我一直在考虑在字符串中确定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>

有没有办法做到这一点?

谢谢!

感谢您的帖子配偶!评论中的链接非常有用!

2 个答案:

答案 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);