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 之 没有mysql支持时的替代方案
Oct 09 PHP
PHP用mysql数据库存储session的代码
Mar 05 PHP
PHP程序开发范例学习之表单 获取文本框的值
Aug 08 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
Mar 27 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
Oct 15 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
PHP实现根据数组某个键值大小进行排序的方法
Mar 13 PHP
PHP实现的CURL非阻塞调用类
Jul 26 PHP
PHP fclose函数用法总结
Feb 15 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
Mar 11 PHP
laravel 根据不同组织加载不同视图的实现
Oct 14 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 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
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
Jquery图形报表插件 jqplot简介及参数详解
2012/10/10 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
python中set常用操作汇总
2016/06/30 Python
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
python实现代码统计程序
2019/09/19 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
python基于win32api实现键盘输入
2020/12/09 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
三分钟英语演讲稿
2014/04/24 职场文书
销售内勤岗位职责
2015/02/10 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers