有些人可能不明白标题意思,简单通俗的讲就是把字符串里的网址转为超链接显示。我们用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元