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 相关文章推荐
计算2000年01月01日起到指定日的天数
Oct 09 PHP
PHP+Tidy-完美的XHTML纠错+过滤
Apr 10 PHP
深入分析PHP引用(&amp;)
Sep 04 PHP
php递归创建目录的方法
Feb 02 PHP
PHP滚动日志的代码实现
Jun 10 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
Apr 01 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
PHP开发中csrf攻击的简单演示和防范
May 07 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
详解在YII2框架中使用UEditor编辑器发布文章
Nov 02 PHP
详解PHP 7.4 中数组延展操作符语法知识点
Jul 19 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
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
php如何获取文件的扩展名
2015/10/28 PHP
php 常用的系统函数
2017/02/07 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
python3的pip路径在哪
2020/06/23 Python
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
全球在线商店:BerryLook
2019/04/14 全球购物
中学生获奖感言
2014/02/04 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
入股合作协议书
2014/10/12 职场文书
2014年效能监察工作总结
2014/11/21 职场文书
统计员岗位职责
2015/02/11 职场文书
装修公司管理制度
2015/08/05 职场文书
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python
python计算列表元素与乘积详情
2022/08/05 Python