php自动给网址加上链接的方法


Posted in PHP onJune 02, 2015

本文实例讲述了php自动给网址加上链接的方法。分享给大家供大家参考。具体实现方法如下:

这里自动匹配页面里的网址,包含http,ftp等,自动给网址加上链接

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;
}
 
//使用范例:
$text = "Welcome 3water.com :-)";
print text2links($text);

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
常用的php ADODB使用方法集锦
Mar 25 PHP
Php注入点构造代码
Jun 14 PHP
thinkphp实现数组分页示例
Apr 13 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
FastCGI 进程意外退出造成500错误
Jul 26 PHP
PHP发送短信代码分享
Aug 11 PHP
laravel5创建service provider和facade的方法详解
Jul 26 PHP
PHP使用递归算法无限遍历数组示例
Jan 13 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
Nov 06 PHP
Yii2框架数据验证操作实例详解
May 02 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
Yii框架连表查询操作示例
Sep 06 PHP
php将字符串随机分割成不同长度数组的方法
Jun 01 #PHP
php正则preg_replace_callback函数用法实例
Jun 01 #PHP
php实现读取和写入tab分割的文件
Jun 01 #PHP
php从文件夹随机读取文件的方法
Jun 01 #PHP
php计算整个目录大小的方法
Jun 01 #PHP
php获取系统变量方法小结
May 29 #PHP
typecho插件编写教程(六):调用接口
May 28 #PHP
You might like
php下载文件的代码示例
2012/06/29 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
基于php实现的验证码小程序
2016/12/13 PHP
PDO::getAvailableDrivers讲解
2019/01/28 PHP
js实现的切换面板实例代码
2013/06/17 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
2014/01/28 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
js实现验证码功能
2020/07/24 Javascript
[01:03:54]Liquid vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
Flask框架web开发之零基础入门
2018/12/10 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
python Canny边缘检测算法的实现
2020/04/24 Python
基于python实现把json数据转换成Excel表格
2020/05/07 Python
Python读取JSON数据操作实例解析
2020/05/18 Python
CSS3中的Media Queries学习笔记
2016/05/23 HTML / CSS
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
求网格中的黑点分布
2013/11/06 面试题
AJax面试题
2014/11/25 面试题
舞蹈教育学专业推荐信
2013/11/27 职场文书
四风存在的原因分析
2014/02/11 职场文书
2015年元旦活动总结
2014/05/09 职场文书
庆六一活动总结
2014/08/29 职场文书
春秋淹城导游词
2015/02/11 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang