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 相关文章推荐
java EJB 加密与解密原理的一个例子
Jan 11 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
Oct 25 PHP
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
PHP Array交叉表实现代码
Aug 05 PHP
php抓取页面的几种方法详解
Jun 17 PHP
php使用glob函数快速查询指定目录文件的方法
Nov 15 PHP
详解WordPress开发中wp_title()函数的用法
Jan 07 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
Yii2中DropDownList简单用法示例
Jul 18 PHP
php版银联支付接口开发简明教程
Oct 14 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
Jan 13 PHP
php获取ajax的headers方法与内容实例
Dec 27 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
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
解决laravel session失效的问题
2019/10/14 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
node网页分段渲染详解
2016/09/05 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
2017/07/31 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
在Django的模板中使用认证数据的方法
2015/07/23 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
python实现聊天小程序
2018/03/13 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
python简单验证码识别的实现方法
2019/05/10 Python
python list多级排序知识点总结
2019/10/23 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
Numpy 多维数据数组的实现
2020/06/18 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
职称自我鉴定
2013/10/15 职场文书
金融专业个人的自我评价
2013/10/18 职场文书
自荐书模板
2013/12/15 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
安全生产宣传标语
2014/06/06 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
在职员工证明书
2014/09/19 职场文书
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫