php 自动给网址添加超链接的功能实例

前端之家收集整理的这篇文章主要介绍了php 自动给网址添加超链接的功能实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
自动匹配页面里的网址,包含http,ftp等,自动给网址加上链接PHP自动给网址加上链接,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

/**
 * 自动匹配页面里的网址,包含http,ftp等,自动给网址加上链接
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
function text2links($str='') {
 
    if($str=='' or !preg_match('/(http|www\.|@)/i',$str)) { return $str; }
 
    $lines = explode("\n",$str); $new_text = '';
    while (list($k,$l) = each($lines)) { 
        // replace links:
        $l = preg_replace("/([ \t]|^)www\./i","\\1http://www.",$l);
        $l = preg_replace("/([ \t]|^)ftp\./i","\\1ftp://ftp.",$l);
 
        $l = preg_replace("/(http:\/\/[^ )\r\n!]+)/i","<a href=\"\\1\">\\1</a>",$l);
 
        $l = preg_replace("/(https:\/\/[^ )\r\n!]+)/i",$l);
 
        $l = preg_replace("/(ftp:\/\/[^ )\r\n!]+)/i",$l);
 
        $l = preg_replace(
            "/([-a-z0-9_]+(\.[_a-z0-9-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)+))/i","<a href=\"mailto:\\1\">\\1</a>",$l);
 
        $new_text .= $l."\n";
    }
 
    return $new_text;
}

//使用范例:
$text = "Visit jb51.cc :-)";
 
print text2links($text);


/***   来自编程之家 jb51.cc(jb51.cc)   ***/

猜你在找的PHP相关文章