一文中介紹過PHP代碼如何實現(xiàn)將URL地址轉(zhuǎn)化成鏈接的方法,今天給大家介紹一個更加簡潔的版本,先來看看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;
}
么樣,很簡潔吧!看看函數(shù)的API文檔吧:
語法
string autolink ( string $str [, array $attributes = array() ] )
參數(shù)介紹
str – 必選(String 類型數(shù)據(jù))。需要查詢替換的文本。
attributes -可選(Array 類型數(shù)據(jù))。替換鏈接的一些可選參數(shù)。
返回值
返回替換后的文本。
autolink() 調(diào)用方法
autolink使用起來也很方便,我們可以只傳一個參數(shù),即為必選的需要替換的字符文本。例如:
<?php
$str = 'A link : http://example.com/?param=value#anchor.';
$str = autolink($str);
echo $str; // A link : <a rel="external nofollow" >http://example.com/?param=value#anchor</a>.
?>
代碼如下:
另外我們還可以設(shè)置一些額外的鏈接的參數(shù),可以讓生成的鏈接在新窗口中打開,或者不希望搜索引擎索引替換的鏈接。例如:
代碼如下:
<?php
$str = 'http://example.com/';
$str = autolink($str, array("target"=>"_blank","rel"=>"nofollow"));
echo $str; // <a rel="external nofollow" target="_blank" >http://example.com/</a>
?>
怎么樣,方便好用吧!
更多信息請查看IT技術(shù)專欄