新聞中心
dedecms替換關(guān)鍵詞時(shí)發(fā)生嵌套錯(cuò)誤的解決方案
作者 / 無憂主機(jī) 時(shí)間 2015-07-30 21:35:32
關(guān)鍵詞,對于各位站長朋友們來說應(yīng)該并不陌生。一個(gè)網(wǎng)站 關(guān)鍵詞做得好,可以使網(wǎng)站的排名迅速提升。但如果處理不當(dāng),也可能出現(xiàn)問題。今天無憂主機(jī)小編在處理售后時(shí)遇到了一位dedecms建站的php虛擬主機(jī)用戶反映鏈接錯(cuò)誤的問題,客戶反映在seo時(shí)修改關(guān)鍵詞后鏈接就發(fā)生錯(cuò)誤了。無憂主機(jī)小編經(jīng)過一系列的檢查后,發(fā)現(xiàn)這是在關(guān)鍵詞替換的時(shí)候發(fā)生的嵌套錯(cuò)誤。然后小編開始嘗試修復(fù)這個(gè)錯(cuò)誤,在反復(fù)的修改過程中小編我終于找到了一個(gè)比較完美的解決方案。這里就把解決方案跟大家分享一下,希望可以幫助遇到同樣問題的站長朋友。 這個(gè)方案的思路就是先替換比較短的關(guān)鍵詞,然后再匹配替換長的關(guān)鍵詞,這樣系統(tǒng)則會(huì)先去替換這個(gè)關(guān)鍵詞,而不會(huì)去替換鏈接中的關(guān)鍵詞了。最后我們通過修改include/arc.archives.class.php這個(gè)文件中的代碼來實(shí)現(xiàn)這個(gè)方案。 首先找到include/arc.archives.class.php這個(gè)文件,找到如下代碼:
function _highlight($string, $words, $result, $pre) { ? ? global $cfg_replace_num; ? ? $string = str_replace('"', '"', $string); ?然后在它后面增加一段代碼,使它變?yōu)?
function _highlight($string, $words, $result, $pre) { ? ? global $cfg_replace_num; ? ? $string = str_replace('"', '"', $string); Usaort($words,create_function('$a,$b',return strln($a)>strlen($b);'));這樣就可以解決替換關(guān)鍵詞過程中會(huì)同時(shí)替換鏈接關(guān)鍵詞的問題了。 無憂主機(jī)相關(guān)文章推薦閱讀: DEDECMS后臺登錄成功后返回到登錄界面的解決方法 DEDECMS(織夢)程序MYSQL修復(fù)表和文章路徑修改方法 DEDECMS教程:自定義表單發(fā)送指定郵件并解決內(nèi)容亂碼等問題
本文地址:http://www.love62.cn/dedecms/19825.html