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(4) php 函数 补充2
Feb 15 PHP
第六章 php目录与文件操作
Dec 30 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 PHP
php获取qq用户昵称和在线状态(实例分析)
Oct 27 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
php计算指定目录下文件占用空间的方法
Mar 13 PHP
简单概括PHP的字符串中单引号与双引号的区别
May 07 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
May 28 PHP
laravel学习教程之关联模型
Jul 30 PHP
PHP生成唯一ID之SnowFlake算法
Dec 17 PHP
PHP设计模式之工厂模式定义与用法详解
Apr 03 PHP
php引用传递
Apr 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
一道关于php变量引用的面试题
2010/08/08 PHP
PHP对象转换为数组函数(递归方法)
2012/02/04 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python生成验证码实例
2014/08/21 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
历史学专业毕业生求职信
2013/09/27 职场文书
饭店工作计划书
2014/01/10 职场文书
岗位职责说明书
2014/05/07 职场文书
百日安全生产活动总结
2014/07/05 职场文书
2014年医院工作总结
2014/11/20 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
市场营销计划书
2019/04/24 职场文书
python中if和elif的区别介绍
2021/11/07 Python
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android