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


Posted in PHP onDecember 03, 2014
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 相关文章推荐
附件名前加网站名
Mar 23 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
Dec 05 PHP
MySQL的FIND_IN_SET函数使用方法分享
Mar 27 PHP
360通用php防护代码(使用操作详解)
Jun 18 PHP
PHP添加Xdebug扩展的方法
Feb 12 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
php获取文章上一页与下一页的方法
Dec 01 PHP
php实现在线通讯录功能(附源码)
May 13 PHP
php+flash+jQuery多图片上传源码分享
Jul 27 PHP
简单的自定义php模板引擎
Aug 26 PHP
PHP接入微信H5支付的方法示例
Oct 28 PHP
Yii框架中memcache用法实例
Dec 03 #PHP
yii中widget的用法
Dec 03 #PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 #PHP
Yii中CGridView关联表搜索排序方法实例详解
Dec 03 #PHP
yii实现CheckBox复选框在同一行显示的方法
Dec 03 #PHP
Yii把CGridView文本框换成下拉框的方法
Dec 03 #PHP
Yii实现多按钮保存与提交的方法
Dec 03 #PHP
You might like
PHP开发中常用的8个小技巧
2008/08/27 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
javascript常用方法汇总
2014/12/02 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
2018/03/06 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
Vue页面切换和a链接的本质区别详解
2019/11/12 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
python的else子句使用指南
2016/02/27 Python
Python中死锁的形成示例及死锁情况的防止
2016/06/14 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Python3实现转换Image图片格式
2018/06/21 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
Python创建字典的八种方式
2019/02/27 Python
Django CBV类的用法详解
2019/07/26 Python
Django发送邮件功能实例详解
2019/09/02 Python
python通过实例讲解反射机制
2019/10/17 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
CSS3实现点击放大的动画实例代码
2017/02/27 HTML / CSS
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
BCBG官网:BCBGMAXAZRIA
2017/12/29 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
师范学院毕业生求职信范文
2013/12/26 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书
借条格式范本
2015/05/25 职场文书