php实现使用正则将文本中的网址转换成链接标签

2015-01-24信息快讯网

本文给大家分享一段php中使用正则表达式将网址转换成A链接的函数代码,十分简洁实用,这里推荐给大家

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",
            "<a href=\"\\1\">\\1</a>", $l);
        $l = preg_replace("/(ftp:\/\/[^ )\r\n!]+)/i",
            "<a href=\"\\1\">\\1</a>", $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;
}

php实现redis数据库指定库号迁移的方法
php计划任务之ignore_user_abort函数实现方法
WampServer下安装多个版本的PHP、mysql、apache图文教程
PHP中使用SimpleXML检查XML文件结构实例
windows中为php安装mongodb与memcache
phplot生成图片类用法详解
php下Memcached入门实例解析
php模仿asp Application对象在线人数统计实现方法
php连接oracle数据库及查询数据的方法
php从memcache读取数据再批量写入mysql的方法
PHP中使用xmlreader读取xml数据示例
VPS中使用LNMP安装WordPress教程
php+jQuery.uploadify实现文件上传教程
PHP中require和include路径问题详解
PHP使用array_multisort对多个数组或多维数组进行排序
php生成随机颜色方法汇总
Yii框架中memcache用法实例
Yii框架获取当前controlle和action对应id的方法
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
thinkphp中memcache的用法实例
PHP中SimpleXML函数用法分析
ThinkPHP模板输出display用法分析
php中ltrim()、rtrim()与trim()删除字符空格实例
php使用str_replace实现输入框回车替换br的方法
PHP中substr()与explode()函数用法分析
ThinkPHP中I(),U(),$this->post()等函数用法
php中HTTP_REFERER函数用法实例
php中ob_get_length缓冲与获取缓冲长度实例
PHP图像处理之imagecreate、imagedestroy函数介绍
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
php中filter_input函数用法分析
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
什么情况下可以不写PHP的闭合标签“?>”
php中使用array_filter()函数过滤空数组的实现代码
ThinkPHP采用<volist>实现三级循环代码实例
©2014-2024 dbsqp.com