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 数组的合并、拆分、区别取值函数集
Feb 15 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
Sep 30 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 PHP
PHP Switch 语句之学习笔记
Sep 21 PHP
php事务处理实例详解
Jul 11 PHP
php实现无限级分类(递归方法)
Aug 06 PHP
php简单统计中文个数的方法
Sep 30 PHP
php的常量和变量实例详解
Jun 27 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
May 29 PHP
关于Yii中模型场景的一些简单介绍
Sep 22 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
Mar 02 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读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
webpack 打包压缩js和css的方法示例
2018/03/20 Javascript
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
跟老齐学Python之做一个小游戏
2014/09/28 Python
常见的python正则用法实例讲解
2016/06/21 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
python小白切忌乱用表达式
2020/05/29 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
学校综治宣传月活动总结
2014/07/02 职场文书
就业协议书
2014/09/12 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
2014年帮扶工作总结
2014/11/26 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
java实现web实时消息推送的七种方案
2022/07/23 Java/Android