注意:這裏咱們須要在後臺修改文檔關鍵詞的頻率,默認是 頻率高的優先替換,頻率低的後替換文檔
版權
原創文章,轉載請著名出處:dedecms文檔長尾關鍵詞,根據頻率先替換長尾關鍵詞再替換主關鍵詞(https://www.cnblogs.com/hongfei/p/9507711.html)get
如:php
長尾關鍵詞1:男人喝金絲皇菊有什麼好處? html
長尾關鍵詞2:喝金絲皇菊有什麼好處?post
主關鍵詞3:金絲皇菊spa
使用系統默認的功能時,在替換主關鍵詞的時候,會將上面已經替換好的長尾關鍵詞中的「金絲皇菊」也替換掉,從而破壞了原有的長尾關鍵詞錨文本。code
金絲皇菊_福鼎白茶_普洱茶:http://www.bayantea.cnhtm
1.先將要替換的關鍵詞替換成相似:blog
關鍵詞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文檔長尾關鍵詞,根據頻率先替換長尾關鍵詞再替換主關鍵詞(https://www.cnblogs.com/hongfei/p/9507711.html)get