我们找到并打开/include/arc.archives.class.php文件,在里面找到如下代码:
注意查找代码的时候先手动去掉代码里面的【分隔符】字样!
找到后将其替换为如下代码:
01 function ReplaceKeyword($kw,&$body) 02 { 03 global $cfg_cmspath,$dsql; 04 $maxkey = 5; 05 $kws = explode(",",trim($kw)); //以分好为间隔符 06 $i=0; 07 $karr = $kaarr = $GLOBALS['replaced'] = array(); 08 //暂时屏蔽超链接 09 $body = preg_replace("/()(.*)(<)(\/a>)/isU", '\\1-]-\\4-[-\\6', $body); 10 $query="SELECT * FROM #【分隔符】@__keywords WHERE rpurl<>'' and sta=1 ORDER BY length(keyword)desc"; 11 $dsql->SetQuery($query); 12 $dsql->Execute(); 13 while($row = $dsql->GetArray()) 14 { 15 $key = trim($row['keyword']); 16 $key_url=trim($row['rpurl']); 17 $karr[] = $key; 18 $kaarr[] = "$key"; 19 } 20 foreach ($karr as $key => $word) 21 { 22 $body = preg_replace("/(^|>)([^<]+)(?=<|$)/sUe", "_highlight('\\2', \$karr[$key], \$kaarr[$key], 23 24 25 '\\1')", $body); 26 //echo $body.""; 27 //恢复超链接 28 $body = preg_replace("/()/isU", '\\1>\\3<\\4', $body);//暂时屏蔽超链接 29 $body = preg_replace("/()(.*)(<)(\/a>)/isU", '\\1-]-\\4-[-\\6', $body); 30 } 31 //恢复超链接 32 $body = preg_replace("/()/isU", '\\1>\\3<\\4', $body); 33 34 35 return $body; 36 } 37 } 38 //End Archives 39 //高亮专用, 替换多次是可能不能达到最多次 40 function _highlight($string, $words, $result, $pre) 41 { 42 global $cfg_replace_num; 43 $string = str_replace('\"', '"', $string); 44 if($GLOBALS['replaced'][$words] == 1){ 45 return $pre.$string; 46 } 47 if($cfg_replace_num > 0){ 48 $string = preg_replace("/".preg_quote($words)."/", $result, $string, $cfg_replace_num); 49 if(strpos($string, $words) !== false) 50 { 51 $GLOBALS['replaced'][$words] = 1; 52 } 53 } 54 else{$string = str_replace($words, $result, $string); 55 } 56 return $pre.$string; 57 }
注意手动去掉代码里面的【分隔符】字样!
替换完成后保存即可,然后生成一下文章内容试试。