使用phpcms c9為自己網站程序的朋友都會有一些困惑,其中phpcms v9關鍵詞(Keyword)自動把空格變成逗號分割符的問題一直都沒有解決,雖然Keyword不怎么使用了無所謂,不過如果用關鍵詞來添加相關文章等功能的時候,空格變成分割符的問題還是比較麻煩的,其實解決起來也不麻煩,修改一下原文件就可以了。



PHPCMS v9的關鍵字分割方式是空格和,,這種分割方式不合理,比如我要將PHPCMS V9 作為一個關鍵詞,那么分割就出現了問題,所以需要修改為,進行分割。

分享一下我的修改方法:

第一步:
修改/phpcms/libs/functions/global.func.php ,
搜索 if (!empty($keyword)) $keyword = str_replace(' ', ',', strip_tags($keyword)); 替換為: if (!empty($keyword)) $keyword = strip_tags($keyword); 大概的位置在:1519行處。

第二步:
將根目錄下api/get_keywords.php內容替換為如下內容即可。 /** * 獲取關鍵字接口 */ defined('IN_PHPCMS') or exit('No permission resources.'); define('API_URL_GET_KEYWORDS', 'http://tool.phpcms.cn/api/get_keywords.php'); $number = intval($_GET['number']); $data = $_POST['data']; echo get_keywords($data, $number); function get_keywords($data, $number = 3) { $data = trim(strip_tags($data)); if(empty($data)) return ''; $http = pc_base::load_sys_class('http'); if(CHARSET != 'utf-8') {       $data = iconv('utf-8', CHARSET, $data); } else {       $data = iconv('utf-8', 'gbk', $data); } $http->post(API_URL_GET_KEYWORDS, array('siteurl'=>SITE_URL, 'charset'=>CHARSET, 'data'=>$data, 'number'=>$number)); if($http->is_ok()) {       $returnDate = str_replace(' ', ',', $http->get_data());       if(CHARSET != 'utf-8') {          return $returnDate;       } else {          return iconv('gbk', 'utf-8', $returnDate);       } } return ''; } ?> 以上基于Phpcms V9.1.12 Release 20120110 GBK版本修改。其他版本修改方式差不多。如果需要utf-8版本的話,則將如上代碼復制之后進行轉碼即可。

也要中以設置為這樣,把空格去掉或是換成其它就可以了。
if (!empty($keyword)) $keyword = str_replace(' ', ',', strip_tags($keyword)); 英文網站中,這樣修改即可。關鍵詞調用就正常了。 if (!empty($keyword)) $keyword = str_replace(',', ',', strip_tags($keyword));

phpcms v9關鍵詞自動把空格變成逗號分割符解決方法下載地址

遠程下載