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 中的一些经验积累
Oct 09 PHP
献给php初学者(入门学习经验谈)
Oct 12 PHP
用PHP代替JS玩转DOM的思路及示例代码
Jun 15 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 PHP
CI框架给视图添加动态数据
Dec 01 PHP
php实现refresh刷新页面批量导入数据的方法
Dec 23 PHP
php使用cookie显示用户上次访问网站日期的方法
Jan 26 PHP
php发送与接收流文件的方法
Feb 11 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
php json转换相关知识(小结)
Dec 21 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
也谈截取首页新闻 - 范例
2006/10/09 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
2014/03/27 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
IE6兼容透明背景图片及解决方案
2015/08/19 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
基于Turn.js 实现翻书效果实例解析
2016/06/20 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
2021/03/01 Vue.js
12步入门Python中的decorator装饰器使用方法
2016/06/20 Python
python检索特定内容的文本文件实例
2018/06/05 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
Python datetime模块使用方法小结
2020/06/18 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
日本著名的平价时尚女性购物网站:Fifth
2016/08/24 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
集团公司总经理岗位职责
2013/12/20 职场文书
洗发露广告词
2014/03/14 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
学生会辞职信
2015/03/02 职场文书
财政局长个人总结
2015/03/04 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书