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 相关文章推荐
Session的工作方式
Oct 09 PHP
PHP生成网页快照 不用COM不用扩展.
Feb 11 PHP
PHP中文分词的简单实现代码分享
Jul 17 PHP
给初学者的30条PHP最佳实践(荒野无灯)
Aug 02 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
详解PHP中的Traits
Jul 29 PHP
php实现微信公众号无限群发
Oct 11 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
Yii2语言国际化自动配置详解
Aug 22 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中在PDO中使用事务(Transaction)
2011/05/14 PHP
PHP读取文件并可支持远程文件的代码分享
2012/10/03 PHP
Django 中 cookie的使用
2017/08/17 PHP
php实例化一个类的具体方法
2019/09/19 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
2014/12/28 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
vue生成token保存在客户端localStorage中的方法
2017/10/25 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
十分钟教你上手ES2020新特性
2020/02/12 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
Python中的生成器和yield详细介绍
2015/01/09 Python
python实现简单socket程序在两台电脑之间传输消息的方法
2015/03/13 Python
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
Python交互环境下实现输入代码
2018/06/22 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
Python3.5局部变量与全局变量作用域实例分析
2019/04/30 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
给学校建议书范文
2014/05/13 职场文书
服务行业口号
2014/06/11 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
Django中celery的使用项目实例
2022/07/07 Python