PHP实现把文本中的URL转换为链接的auolink()
转载:http://www.jb51.net/article/52916.htm
其实我在《把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数》一文中介绍过PHP代码如何实现将URL地址转化成链接的方法,今天给大家介绍一个更加简洁的版本,先来看看PHP的源代码:
/**
* 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实现把文本中的URL转换为链接的auolink()的更多相关文章
- iOS 检测文本中的 URL、电话号码等信息
iOS 检测文本中的 URL.电话号码等信息 要检测文本中的 URL.电话号码等,除了用正则表达式,还可以用 NSDataDetector. 用 NSTextCheckingResult.Checki ...
- PHP正则表达式-从文本中提取URL
1.从文本中提取URL的正则表达式 '/https?:\/\/[\w-.%#?\/\\\]+/i'
- 给文本中的url加超级链接,同时滤过已加过链接的url
/** * 给文本中的url加超级链接,同时滤过已有链接的url * @param string $str [description] * @return [type] [description] * ...
- 图片处理:html文本获取图片Url,判断图片大小,存数据库
1.从html文本获取图片Url /** * html文本中取出url链接 */ public class Url { public static void main(String[] args) { ...
- Objective-C中把URL请求的参数转换为字典
上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字 ...
- IOS 正则表达式匹配文本中URL位置并获取URL所在位置(解决连接中文问题)
需求很简单,是从一段文本中匹配出其中的超链接.基本的做法就是用正则表达式去匹配.但是有这样一个问题. 网上大部分的识别URL的正则表达式url末尾有空格的情况下可以正确识别.比如这样的情况. 我是一段 ...
- 详解JavaScript中的Url编码/解码,表单提交中网址编码
本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数escape / unescape ...
- Javascript中的url编码与解码(详解)
摘要 本文主要针对URI编解码的相关问题做了介绍,对url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript中和编解码相关的几对函数escape / unescap ...
- 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图
[源码下载] 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Co ...
随机推荐
- iOS开发之SQLite-C语言接口规范(一)——Ready And Open Your SQLite
为什么要搞一搞SQLite的C语言接口规范呢? 因为在做iOS开发中难免会遇到操作数据库的情况,你可以使用第三方的FMDB等,或者使用CoreData.但我们还是有必要去搞清楚如何去使用SQLite的 ...
- IOS中block和代理
从ios4开始引入block,就是代码块,结构类c语言 基本结构 返回值 (^block名称)(参数):int(^BlockName)(int):返回值为int型,参数是一个int值的叫BlockNa ...
- 第一章 Linux內核簡介
1. Linux是類Unix系統,但他不是Unix. 儘管Linux借鑑了Unix的許多設計並且實現了Unix的API(由Posix標準和其他Single Unix Specification定義的) ...
- 用JAVA实现插值查询的方法(算近似值,区间求法)
插值查询:如果有这样一张表,有一列叫水位,有一列叫库容,比如下面的图. 我现在想做这么一件事情:对于这个测站而言,当我输入某一个水位或者库容的时候,想要查询到对应的水位或者库容呢? 而这个值不一定是存 ...
- JavaScript 获取HTML中的CSS样式的属性以及值的的方法。
<body> <div id="wow" style="font-size:10px; float:left"></div> ...
- 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL
创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...
- 获取documents、tmp、app、Library的路径的方法
phone沙箱模型的有四个文件夹: documents,tmp,app,Library 1.Documents 您应该将所有的应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它 ...
- web.config配置
<appSettings> <add key="DepartmentRootID" value="A90AEAEC-E3D4-43DE-BB67-854 ...
- WPF阴影效果(DropShadowEffect)
<TextBlock Text="阴影效果" FontSize="32"> <TextBlock.Effect> <DropSha ...
- Angularjs真是个好东西
事件篇: 实例:(点击按钮内容加1) <!DOCTYPE html><html><head><meta charset="utf-8"&g ...