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获得当前的脚本网址
Dec 10 PHP
php session 预定义数组
Mar 16 PHP
PHP的博客ping服务代码
Feb 04 PHP
探讨:parse url解析URL,返回其组成部分
Jun 14 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
php中chdir()函数用法实例
Nov 13 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
CI框架集成Smarty的方法分析
May 17 PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 PHP
PHP7移除的扩展和SAPI
Mar 09 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 飞信好友免费短信API接口开源版
2010/07/22 PHP
PHP在字符断点处截断文字的实现代码
2011/04/21 PHP
destoon调用discuz论坛中带图片帖子的实现方法
2014/08/21 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
Jquery中dialog属性小记
2010/09/03 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
JS实现图片居中悬浮效果
2017/12/25 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
python归并排序算法过程实例讲解
2020/11/04 Python
python 读取串口数据的示例
2020/11/09 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
Python字节单位转换(将字节转换为K M G T)
2021/03/02 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
医学专业个人求职自荐信格式
2013/09/23 职场文书
2014年财务科工作总结
2014/11/11 职场文书
怎样写辞职信
2015/02/27 职场文书
关于五一放假的通知
2015/08/18 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang
Elasticsearch 数据类型及管理
2022/04/19 Python