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实现登陆验证码(类似条行码状)
Oct 09 PHP
一些使用频率比较高的php函数
Oct 03 PHP
PHP JSON格式数据交互实例代码详解
Jan 13 PHP
PHP输入流php://input介绍
Sep 18 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
PHP处理大量表单字段的便捷方法
Feb 07 PHP
php实现分页显示
Nov 03 PHP
php加密解密字符串示例
Oct 13 PHP
php实现背景图上添加圆形logo图标的方法
Nov 17 PHP
Yii 2.0自带的验证码使用经验分享
Jun 19 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
Apr 23 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
php模板中出现空行解决方法
2011/03/08 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
Angular ui.bootstrap.pagination分页
2017/01/20 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
koa socket即时通讯的示例代码
2018/09/07 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
JS运算符优先级与表达式示例详解
2020/09/04 Javascript
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
浅谈Python peewee 使用经验
2017/10/20 Python
python字典操作实例详解
2017/11/16 Python
python3 破解 geetest(极验)的滑块验证码功能
2018/02/24 Python
python爬虫正则表达式之处理换行符
2018/06/08 Python
python中文编码与json中文输出问题详解
2018/08/24 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
python爬虫增加访问量的方法
2019/08/22 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
美国轮胎网站:Priority Tire
2018/11/28 全球购物
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
大学生的应聘自我评价
2013/12/13 职场文书
阳光体育活动方案
2014/02/16 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
2014年学生工作总结
2014/11/20 职场文书
2015暑期社会实践通讯稿
2015/07/18 职场文书
nginx限制并发连接请求数的方法
2021/04/01 Servers
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python