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 相关文章推荐
玩转图像函数库―常见图形操作
Sep 03 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
php通过字符串调用函数示例
Mar 02 PHP
xss防御之php利用httponly防xss攻击
Mar 21 PHP
使用PHP生成PDF方法详解
Jan 23 PHP
php实现获取文件mime类型的方法
Feb 11 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 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
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
通过具体程序来理解PHP里面的抽象类
2010/01/28 PHP
php实现多张图片上传加水印技巧
2013/04/18 PHP
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
jQuery 源代码显示控件 (Ajax加载方式).
2009/05/18 Javascript
jQuery 源码分析笔记(5) jQuery.support
2011/06/19 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
2016/06/01 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
[47:08]OG vs INfamous 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Pyinstaller将py打包成exe的实例
2018/03/31 Python
python3 读写文件换行符的方法
2018/04/09 Python
在django view中给form传入参数的例子
2019/07/19 Python
圣彼得堡鲜花配送:Semicvetic
2020/09/15 全球购物
分布式数据库需要考虑哪些问题
2013/12/08 面试题
公司年会演讲稿范文
2014/01/11 职场文书
董事长岗位职责
2015/02/13 职场文书
先进个人总结范文
2015/02/15 职场文书
教师节寄语2015
2015/03/23 职场文书
爱鸟护鸟的宣传语
2015/07/13 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android