2016-04-24 143 views
0

如果您知道我的意思,我的代码将“默认”链接替换为可点击链接;/ 在文本中只有一个网址时,所有的网页都可以正常使用,但是当字符串中的网址超过1个网址时,相同。 在例如使链接可点击

“这是我的第一个视频LINK1,这里是我的第二个视频LINK2”

DO功能这段文字是这样的后:

“这是我的第一个视频LINK1,这里是我的第二视频LINK1"

LINK2开始是LINK1

我的功能

function DoLinks($link){ 
    $reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/"; 

    $text = $link; 
    if(preg_match($reg_exUrl, $text, $url)) { 
     // DO IT! 
     $linh = $url[0]; 
     return preg_replace($reg_exUrl, "<a class='linka' href='$linh'>$linh</a> ", $text); 
    } else { 
     return $text; 
    } 
} 

我的问题是如何做到这一点LINK2开始是LINK2不LINK1

+0

问题是什么?不应该需要'preg_match'。 – chris85

+0

也许,https://eval.in/558898? – chris85

+0

哦,谢谢m8 =) – DKNS

回答

0

也许你想要的东西,如:

function DoLinks($text) { 
    return preg_replace ('/((?:http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(?:\/\S*)?)/', '<a href="$1">$1</a>', $text); 
}