DedeCMS關(guān)鍵詞替換問(wèn)題較完美解決方法

字號(hào):


    問(wèn)題描述
    織夢(mèng)內(nèi)容關(guān)鍵詞替換的時(shí)候存在一個(gè)錯(cuò)誤:如果擁有兩個(gè)關(guān)鍵詞,例如“CIT”(www.cit.cn/tags/cit.html)和“CIT信息網(wǎng)”(www.cit.cn),但在文章替換的時(shí)候我們發(fā)現(xiàn)就會(huì)出現(xiàn)問(wèn)題,鏈接變成了:
    <a ><u><a href="www.cit.cn/tags/cit.html">CIT</a>信息網(wǎng)</u></a>
    解決方案
    這樣的嵌套錯(cuò)誤無(wú)論對(duì)SEO還是用戶(hù)體驗(yàn)都是不好的,這里我們有一個(gè)解決方案,也就是先替換比較短的,然后再匹配替換長(zhǎng)的,這樣系統(tǒng)則會(huì)先去替換CIT這個(gè)關(guān)鍵詞,而不會(huì)去替換CIT信息網(wǎng)了。
    修改代碼
    其實(shí)修改代碼很簡(jiǎn)單,我們直接找到include/arc.archives.class.php這個(gè)文件,在1226行代碼,也就是: 
    //高亮專(zhuān)用, 替換多次是可能不能達(dá)到最多次
    function _highlight($string, $words, $result, $pre)
    {
        global $cfg_replace_num;
        $string = str_replace('"', '"', $string);
    后面增加一段代碼,使它變?yōu)?BR>    //高亮專(zhuān)用, 替換多次是可能不能達(dá)到最多次
    function _highlight($string, $words, $result, $pre)
    {
        global $cfg_replace_num;
        $string = str_replace('"', '"', $string);
        uasort($words,create_function('$a, $b','return strlen($a)>strlen($b);'));
    總結(jié)
    DedeCMS對(duì)于SEO愛(ài)好者確實(shí)是一個(gè)利器,如何用好還需要深入琢磨。