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扩展开发经验分享
Sep 06 PHP
PHP中使用cURL实现Get和Post请求的方法
Mar 13 PHP
PHP简单实现“相关文章推荐”功能的方法
Jul 19 PHP
Yii框架form表单用法实例
Dec 04 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
PHP动态生成指定大小随机图片的方法
Mar 25 PHP
php 时间time与日期date之间的使用详解及区别
Nov 07 PHP
php成功操作redis cluster集群的实例教程
Jan 13 PHP
php+Ajax无刷新验证用户名操作实例详解
Mar 04 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 PHP
php引用传递
Apr 01 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 表单提交给自己
2008/07/24 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
2010/09/12 Javascript
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
js数组的操作指南
2014/12/28 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
python将字母转化为数字实例方法
2019/10/04 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
Java程序开发中如何应用线程
2016/03/03 面试题
服务员岗位职责范本
2015/04/09 职场文书