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 相关文章推荐
让你的PHP同时支持GIF、png、JPEG
Oct 09 PHP
php生成SessionID和图片校验码的思路和实现代码
Mar 10 PHP
php中根据某年第几天计算出日期年月日的代码
Feb 24 PHP
Destoon模板制作简明教程
Jun 20 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
CodeIgniter钩子用法实例详解
Jan 20 PHP
php通过smtp邮件验证登陆的方法
May 11 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
thinkphp5框架路由原理与用法详解
Feb 11 PHP
如何在Mac上通过docker配置PHP开发环境
May 29 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
PHP 第二节 数据类型之数值型
2012/04/28 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
Node.js实现mysql连接池使用事务自动回收连接的方法示例
2018/02/03 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
python实现对一个完整url进行分割的方法
2015/04/29 Python
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
详解Python3的TFTP文件传输
2018/06/26 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
简历中求职的个人自我评价
2013/12/03 职场文书
承诺书格式
2014/06/03 职场文书
工地例会施工汇报材料
2014/08/22 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
投诉信格式范文
2015/07/02 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
小学英语教学反思范文
2016/02/15 职场文书