小編給大家分享一下dedecms關鍵詞替換的案例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站設計制作、成都網站設計、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的殷都網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!問題:在使用dedecms的文檔關鍵詞替換功能時,會造成交叉替換如:
長尾關鍵詞1:男人喝金絲皇菊有什么好處?
長尾關鍵詞2:喝金絲皇菊有什么好處?
主關鍵詞3:金絲皇菊
使用系統默認的功能時,在替換主關鍵詞的時候,會將上面已經替換好的長尾關鍵詞中的“金絲皇菊”也替換掉,從而破壞了原有的長尾關鍵詞錨文本。
解決思路:1.先將要替換的關鍵詞替換成類似:
關鍵詞1:'#####0#####'
關鍵詞2:'#####2#####'
關鍵詞3:'#####3#####'
再進行以上替換操作的時候,我們需要保存關鍵詞所對應的錨文本,如:
'#####0#####' --> 關鍵詞1的錨文本
'#####1#####' --> 關鍵詞2的錨文本
'#####2#####' --> 關鍵詞3的錨文本
等全部替換完畢后,我們最后再恢復回來
這里,我們主要修改:include/arc.archives.class.php 文件
修改部分如下:
//高亮專用, 替換多次是可能不能達到最多次 function _highlight($string, $words, $result, $pre) { global $cfg_replace_num; // if (version_compare(PHP_VERSION, '5.5.0', '>=')) // { // $string = $string[0]; // $pre = $pre[0]; // } //修改 Start $replaced_array = array(); $replaced_tiems = 0; //修改 End $string = str_replace('\"', '"', $string); if ($cfg_replace_num > 0) { foreach ($words as $key => $word) { if ($GLOBALS['replaced'][$word] == 1) { continue; } //修改 Start $replace_string = '#####' . $replaced_tiems . '#####'; $replaced_array[$replace_string] = $result[$key]; $string = preg_replace("#" . preg_quote($word) . "#", $replace_string, $string, $cfg_replace_num); $replaced_tiems+= 1; //修改 End // $string = preg_replace("#".preg_quote($word)."#", $result[$key], $string, $cfg_replace_num); if (strpos($string, $word) !== FALSE) { $GLOBALS['replaced'][$word] = 1; } } //修改 Start foreach ($replaced_array as $k => $v) { $string = str_ireplace($k, $v, $string); } //修改 End } else { $string = str_replace($words, $result, $string); } return $pre . $string; }
注意:這里我們需要在后臺修改文檔關鍵詞的頻率,默認是 頻率高的優先替換,頻率低的后替換
以上是dedecms關鍵詞替換的案例的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!
分享題目:dedecms關鍵詞替換的案例-創新互聯
地址分享:http://vcdvsql.cn/article8/ddpdop.html
成都網站建設公司_創新互聯,為您提供網站改版、云服務器、企業網站制作、定制開發、網站策劃、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯