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分页时出现的Fatal error的解决方法
Apr 18 PHP
php中将数组存到文件里的实现代码
Jan 19 PHP
Eclipse的PHP插件PHPEclipse安装和使用
Jul 20 PHP
php简单定时执行任务的实现方法
Feb 23 PHP
php+ajax实现无刷新分页
Nov 18 PHP
php有效防止同一用户多次登录
Nov 19 PHP
php实现微信扫码自动登陆与注册功能
Sep 22 PHP
PHP简单计算两个时间差的方法示例
Jun 20 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
laravel 自定义常量的两种方案
Oct 14 PHP
laravel 解决多库下的DB::transaction()事务失效问题
Oct 21 PHP
php 的多进程操作实践案例分析
Feb 28 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+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
php动态生成函数示例
2014/03/21 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
javascript实现input file上传图片预览效果
2015/12/31 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
Python中针对函数处理的特殊方法
2014/03/06 Python
跟老齐学Python之做一个小游戏
2014/09/28 Python
windows下ipython的安装与使用详解
2016/10/20 Python
python数据处理实战(必看篇)
2017/06/11 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
正规的求职信范文分享
2013/12/11 职场文书
餐饮业的创业计划书范文
2013/12/26 职场文书
社区学习十八大感想
2014/01/22 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
民用住房租房协议书
2014/10/29 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书