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 常用类汇总 推荐收藏
May 13 PHP
php之XML转数组函数的详解
Jun 07 PHP
解析php中两种缩放图片的函数,为图片添加水印
Jun 14 PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 PHP
php实现可运算的验证码
Nov 10 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
利用PHP自动生成印有用户信息的名片
Aug 01 PHP
PHP批量删除jQuery操作
Jul 23 PHP
YII框架中使用memcache的方法详解
Aug 02 PHP
PHP获取访问设备信息的方法示例
Feb 20 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页面中文乱码分析
2013/10/29 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
密码框显示提示文字jquery示例
2013/08/29 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
JavaScript运行原理分析
2018/02/09 Javascript
vue-quill-editor富文本编辑器简单使用方法
2018/09/21 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
python list使用示例 list中找连续的数字
2014/01/27 Python
Python原始字符串(raw strings)用法实例
2014/10/13 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
Python日志syslog使用原理详解
2020/02/18 Python
python实现简单井字棋小游戏
2020/03/05 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
竞争性谈判邀请书
2014/02/06 职场文书
挂靠协议书范本
2014/04/22 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
学校领导四风问题整改措施思想汇报
2014/10/09 职场文书
五年级学生评语大全
2014/12/26 职场文书
大学生学期个人总结
2015/02/12 职场文书
南京大屠杀观后感
2015/06/02 职场文书
导游词之上饶龟峰
2019/10/25 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang