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 相关文章推荐
php array_flip() 删除数组重复元素
Jan 14 PHP
PHP 程序授权验证开发思路
Jul 09 PHP
简单的php数据库操作类代码(增,删,改,查)
Apr 08 PHP
微信扫描二维码登录网站代码示例
Dec 30 PHP
PHP计算一年多少个星期和每周的开始和结束日期
Jul 01 PHP
PHP-FPM之Chroot执行环境详解
Aug 03 PHP
thinkPHP中volist标签用法示例
Dec 06 PHP
PHP中模糊查询并关联三个select框
Jun 19 PHP
PHP实现的二分查找算法实例分析
Dec 19 PHP
PHP封装的mysqli数据库操作类示例
Feb 16 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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
是否存在第一台收音机的说法
2021/03/01 无线电
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
PHP制作万年历
2015/01/07 PHP
php面向对象编程self和static的区别
2016/05/08 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
jQuery表格插件datatables用法汇总
2016/03/29 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
Python中使用SAX解析xml实例
2014/11/21 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
Python unittest模块用法实例分析
2018/05/25 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
如何基于python实现不邻接植花
2020/05/01 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
kfc实习自我鉴定
2013/12/14 职场文书
保护环境的标语
2014/06/09 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
班主任高考寄语
2015/02/26 职场文书
2015年组织部工作总结
2015/04/03 职场文书
毕业生学校组织意见
2015/06/04 职场文书
Pytest中skip skipif跳过用例详解
2021/06/30 Python