您好,欢迎访问一九零五行业门户网

PHP链接锚文本转换为超链接

有些人可能不明白标题意思,简单通俗的讲就是把字符串里的网址转为超链接显示。我们用php写了个函数,只要传参变量文本,即可自动转换。
字符串锚文本转换为可点击的链接函数:function urltolink($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                     //从空格断开 
                    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 = http:// . $url1 .  . $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 = http:// . $url1 .  . $url2; 
                        break; 
                    } 
                    if ($i == $length) 
                        $url3 = http:// . $str2[$n] . ; 
                } 
            } else 
                $url3 = http:// . $str2[$n]; 
        } else 
            $url3 = http:// . $str2[$n]; 
        $url .= $url3; 
    } 
    if (substr($str, 0, 7) == http://) 
        $url =  . $str2[0] .  . $url; 
    else 
        $url = $str2[0] . $url; 
    return $url; 
}若是还不明白,不妨看看演示地址http://www.sucaihuo.com/php/568.html的前后对比效果,一看就明白。
php文本链接转换成超链接.zip ( 2.14 kb 下载:16 次 )
ad:真正免费,域名+虚机+企业邮箱=0元
其它类似信息

推荐信息