欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php网址转换为超链接方法

程序员文章站 2022-06-01 14:13:35
...
PHP代码
//留言转换成网址
function strtr_str_to_url($str){
    $arr = array("www."=>"http://www.");
    $str = strtr($str,$arr);
    $arr = array("http://http://"=>"http://");
    $str = strtr($str,$arr);
    $str2 = explode("http://",$str);
    for($n = 1; isset($str2[$n]); $n ++){
        $str3 = explode(".",$str2[$n]);
        if(isset($str3[1])){
            $str4 = explode("www.",$str2[$n]);
            if((isset($str4[1]) && isset($str3[2])) || !isset($str4[1])){
                $length = strlen($str2[$n]);
                for($i = 0; $i <= $length; $i ++){
                    //从空格断开
                    if(($i - 1) == strlen(trim(mb_substr($str2[$n],0,$i,'gb2312')))){
                        $ii = $i - 1;
                        $url1 = mb_substr($str2[$n],0,$ii,'gb2312');
                        $url2 = mb_substr($str2[$n],$ii,$length,'gb2312');
                        $url3 = "<a href=\"http://".$url1."\" target=\"_blank\">http://".$url1."</a>".$url2;
                        break;
                    }
                     
                    //从出现汉字处断开
                    if($i != strlen(mb_substr($str2[$n],0,$i,'gb2312'))){
                        $ii = $i - 1;
                        $url1 = mb_substr($str2[$n],0,$ii,'gb2312');
                        $url2 = mb_substr($str2[$n],$ii,$length,'gb2312');
                        $url3 = "<a href=\"http://".$url1."\" target=\"_blank\">http://".$url1."</a>".$url2;
                        break;
                    }
                    if($i == $length)$url3 = "<a href=\"http://".$str2[$n]."\" target=\"_blank\">http://".$str2[$n]."</a>";
                }
            }else $url3 = "http://".$str2[$n];
        }else $url3 = "http://".$str2[$n];
        $url .= $url3;
    }
    if(substr($str,0,7) == "http://") $url = "<a href=\"http://$str2[0]\" target=\"_blank\">".$str2[0]."</a>".$url;
    else $url = $str2[0].$url;
    return $url;
}

2. [代码][PHP]代码

$str = "
http://127.0.0.1/test/str_to_url.php?id=1 2是http://127.0.0.1/test/str_to_url.php http://127.0.0.1/test/str_to_url.php是<br>
http://127.0.0.1/test/str_to_url.php啊<br>
http://127.0.0.1/test/str_to_url.php的<br>
http://www.baidu.com/home去<br>
http://www.baidu.com/home才<br>
www.baidu.com/homewww.baidu.com/home的<br>
www.baidu.com/home的<br>
www.baiducom/home才<br>
http://www.baiducom/home才
";
 
 
$str2 = strtr_msg_to_url($str);   
echo "$str2";