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 相关文章推荐
如何去掉文章里的 html 语法
Oct 09 PHP
使用php实现截取指定长度
Aug 06 PHP
PHP防盗链代码实例
Aug 27 PHP
php实现的click captcha点击验证码类实例
Sep 23 PHP
php学习笔记之基础知识
Nov 08 PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
YII动态模型(动态表名)支持分析
Mar 29 PHP
php之可变函数的实例详解
Sep 13 PHP
Laravel中的Blade模板引擎示例详解
Oct 10 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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 daddslashes 使用方法介绍
2012/10/26 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
Python的Flask框架中web表单的教程
2015/04/20 Python
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
详解Python 函数如何重载?
2019/04/23 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
CSS3实现图片抽屉式效果的示例代码
2019/11/06 HTML / CSS
Bonprix法国:时尚、鞋子、家居
2020/12/29 全球购物
什么是事务?为什么需要事务?
2012/01/09 面试题
个人担保书范文
2014/05/20 职场文书
国庆节演讲稿
2014/05/27 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
关于长城的导游词
2015/01/30 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
Go各时间字符串使用解析
2021/04/02 Golang