為了優化內鏈,我們需要將內容添加上關鍵鏈接,那內容如果添加關聯鏈接呢,怎麼添加呢?
方法一:手動編輯添加
方法二:使用程序在輸出內容時實現,又不影響後台內容的編輯。
下面是PHP自動給文章內容添加關聯鏈接方法和示例:
Keylinks函數方法:
參數一:要處理的內容
參數二:替換次數
返回結果:處理後的內容
header("Content-Type:text/html;charset=utf-8"); //設置編碼
$linkdatas=array(
array('前端開發', 'http://blog.kgula.com'),
array('前端設計', 'http://blog.kgula.com'),
array('Web前端', 'http://blog.kgula.com'),
array('前端博客', 'http://blog.kgula.com'),
);
echo "替換前<br/>";
echo $str='Web前端開發 - 專注於網站前端設計與Web用戶體驗。前端開發,專注Web前端開發,關注Web用戶體驗,關注國內外最新最好的前端設計資源和前端開發技術的專業前端博客';
echo "<br/>替換後<br/>";
echo $str=keylinks($str,2);
/**
* 關聯關鍵詞替換
* @param txt $string 原字符串
* @param replacenum $int 替換次數
* @return string 返回字符串
*/
function keylinks($txt, $replacenum = '') {
global $linkdatas;
if ($linkdatas) {
$word = $replacement = array();
foreach ($linkdatas as $v) {
$word1[] = '/(?!(<a.*?))' . preg_quote($v[0], '/') . '(?!.*</a>)/s';
$word2[] = $v[0];
$replacement[] = '<a href="' . $v[1] . '" target="_blank" class="keylink">' . $v[0] . '</a>';
}
if ($replacenum != '') {
$txt = preg_replace($word1, $replacement, $txt, $replacenum);
} else {
$txt = str_replace($word2, $replacement, $txt);
}
}
return $txt;
}