其實我在《把文本中的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>
?>
怎麼樣,方便好用吧!