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下使用strpos需要注意 === 运算符
Jul 17 PHP
php连接数据库代码应用分析
May 29 PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 PHP
利用curl 多线程 模拟 并发的详解
Jun 14 PHP
PHP判断是否有Get参数的方法
May 05 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 PHP
php实现设计模式中的单例模式详解
Oct 11 PHP
php判断当前操作系统类型
Oct 28 PHP
Zend Framework入门知识点小结
Mar 19 PHP
php获取网站根目录物理路径的几种方法(推荐)
Mar 04 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
Oct 08 PHP
Laravel关系模型指定条件查询方法
Oct 10 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/08/28 PHP
2014过年倒计时示例
2014/01/31 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
Redis构建分布式锁
2017/03/28 PHP
在html页面上拖放移动标签
2010/01/08 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
Python格式化输出字符串方法小结【%与format】
2018/10/29 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
加拿大时装零售商:Influence U
2018/12/22 全球购物
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
Delphi软件工程师试题
2013/01/29 面试题
日语专业推荐信
2013/11/12 职场文书
《小熊住山洞》教学反思
2014/02/21 职场文书
农民工工资支付承诺函
2014/03/31 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
2014国庆黄金周超市促销活动方案
2014/09/21 职场文书
2014年女职工工作总结
2014/11/27 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
教你如何用cmd快速登录服务器
2022/06/10 Servers