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 相关文章推荐
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
Jul 01 PHP
PHP+XML 制作简单的留言本 图文教程
Nov 02 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
ThinkPHP中的系统常量和预定义常量集合
Jul 01 PHP
php中文验证码实现方法
Jun 18 PHP
Thinkphp无限级分类代码
Nov 11 PHP
php生成高清缩略图实例详解
Dec 07 PHP
PHP环形链表实现方法示例
Sep 15 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
Bootstrap+PHP实现多图上传功能实例详解
Apr 08 PHP
PHP与以太坊交互详解
Aug 24 PHP
PHP PDOStatement::getColumnMeta讲解
Feb 01 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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
PHP设置进度条的方法
2015/07/08 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
php7下的filesize函数
2019/09/30 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
python 判断自定义对象类型
2009/03/21 Python
python获取本机外网ip的方法
2015/04/15 Python
在Python中使用判断语句和循环的教程
2015/04/25 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
python 统计数组中元素出现次数并进行排序的实例
2018/07/02 Python
Python中的groupby分组功能的实例代码
2018/07/11 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
主管竞聘书范文
2014/03/31 职场文书
小学生新年寄语
2014/04/03 职场文书
教师一岗双责责任书
2014/04/16 职场文书
片区教研活动总结
2014/07/02 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
信息技术国培研修日志
2015/11/13 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python