PHP文本链接转换成超链接

来源:https://www.sucaihuo.com/php/568.html 2016-01-08 08:49浏览(1495) 收藏

本文以素材火的http://www.sucaihuo.com/templates/354.html该篇文章为例,将描述中的文本链接转换成可点击的超链接,并且以新窗口打开。
PHP文本链接转换成超链接
分类:PHP > 函数 难易:初级
查看演示 下载资源 下载积分: 20 积分
关注公众号,免费赠送安装视频教程、环境和学习视频,后面会不断更新。

文本转换超链接函数:

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 <= $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;
}
评论0
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

1 2