PHP实现把文本中的URL转换为链接的auolink()函数分享


Posted in PHP onJuly 29, 2014

其实我在《把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数》一文中介绍过PHP代码如何实现将URL地址转化成链接的方法,今天给大家介绍一个更加简洁的版本,先来看看PHP的源代码:

auolink() API

/**

* Author: SeeDZ

* From: http://code.seebz.net/p/autolink-php/

**/

function autolink($str, $attributes = array()) {

    $attrs = '';

    foreach ($attributes as $attribute=>$value) {

        $attrs .= " {$attribute}=\"{$value}\"";

    }

    

    $str = ' '.$str;

    $str = preg_replace('`([^"=\'>])((http|https|ftp|ftps)://[^\s< ]+[^\s<\.)])`i', '$1<a href="$2" rel="external nofollow" '.$attrs.'>$2</a>', $str);

    $str = substr($str, 1);

    

    return $str;

}

怎么样,很简洁吧!看看函数的API文档吧:

语法

string autolink ( string $str [, array $attributes = array() ] )

参数介绍

str ? 必选(String 类型数据)。需要查询替换的文本。
attributes -可选(Array 类型数据)。替换链接的一些可选参数。

返回值

返回替换后的文本。

autolink() 调用方法

autolink使用起来也很方便,我们可以只传一个参数,即为必选的需要替换的字符文本。例如:

<?php

 

$str = 'A link : http://example.com/?param=value#anchor.';

$str = autolink($str);

 

echo $str; // A link : <a href="http://example.com/?param=value#anchor" rel="external nofollow" >http://example.com/?param=value#anchor</a>.

 

?>

另外我们还可以设置一些额外的链接的参数,可以让生成的链接在新窗口中打开,或者不希望搜索引擎索引替换的链接。例如:

<?php

 

$str = 'http://example.com/';

$str = autolink($str, array("target"=>"_blank","rel"=>"nofollow"));

 

echo $str; // <a href="http://example.com/" rel="external nofollow" target="_blank" >http://example.com/</a>

 

?>

怎么样,方便好用吧!

PHP 相关文章推荐
PHP4与PHP3中一个不兼容问题的解决方法
Oct 09 PHP
PHP新手上路(十三)
Oct 09 PHP
php图片验证码代码
Mar 27 PHP
php生成SessionID和图片校验码的思路和实现代码
Mar 10 PHP
php实现的Cookies操作类实例
Sep 24 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
May 08 PHP
php compact 通过变量创建数组
Nov 15 PHP
php导出csv文件,可导出前导0实例代码
Nov 16 PHP
PHP中overload与override的区别
Feb 13 PHP
PHP get_html_translation_table()函数用法讲解
Feb 16 PHP
php+layui数据表格实现数据分页渲染代码
Oct 26 PHP
PHP自带函数给数字或字符串自动补齐位数
Jul 29 #PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
Jul 29 #PHP
php实现读取超大文件的方法
Jul 28 #PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
Jul 28 #PHP
php Imagick获取图片RGB颜色值
Jul 28 #PHP
PHP exif扩展方法开启详解
Jul 28 #PHP
取得单条网站评论以数组形式进行输出
Jul 28 #PHP
You might like
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
js下弹出窗口的变通
2007/04/18 Javascript
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
如何快速上手Vuex
2017/02/14 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
2019/11/08 Javascript
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python数组条件过滤filter函数使用示例
2014/07/22 Python
python动态网页批量爬取
2016/02/14 Python
python正则表达式之作业计算器
2016/03/18 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
Python3 元组tuple入门基础
2020/02/09 Python
pytorch数据预处理错误的解决
2020/02/20 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
浅析图片上传及canvas压缩的流程
2020/06/10 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
施华洛世奇德国官网:SWAROVSKI德国
2017/02/01 全球购物
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
机电专业毕业生求职信
2013/10/27 职场文书
电子邮箱格式怎么写
2014/01/12 职场文书
大二法英学生职业生涯规划范文
2014/02/27 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
Python selenium的这三种等待方式一定要会!
2021/06/10 Python
详细聊聊vue中组件的props属性
2021/11/02 Vue.js