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 相关文章推荐
一个目录遍历函数
Oct 09 PHP
php巧获服务器端信息
Dec 06 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
Jul 15 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
Nov 19 PHP
php连接odbc数据源并保存与查询数据的方法
Dec 24 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
Mar 15 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
Sep 23 PHP
php中namespace及use用法分析
Dec 06 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
Oct 03 PHP
php提高脚本性能的4个技巧
Aug 18 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
PR值查询 | PageRank 查询
2006/12/20 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
PHP时间函数使用详解
2019/03/21 PHP
Laravel 连接(Join)示例
2019/10/16 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
Python lxml模块的基本使用方法分析
2019/12/21 Python
html5 标签
2009/07/16 HTML / CSS
美国电视购物HSN官网:HSN
2016/09/07 全球购物
男方父母婚礼答谢词
2014/01/25 职场文书
九年级科学教学反思
2014/01/29 职场文书
少先队活动总结
2014/08/29 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
小学工作总结2015
2015/05/04 职场文书
追悼会悼词大全
2015/06/23 职场文书
行政处罚听证告知书
2015/07/01 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python