PHPCMS X

phpcms中调用关键词用逗号分隔结果为空的处理:
我们常常在PHPCMS的文章页会调用一些相关文章,相关文章是根据当前文章的关键词来相关的,关键词一般有多个,默认都是逗号隔开,我们用逗号来分割关键词出线空结果如何处理呢

phpcms中调用关键词用逗号分隔结果为空的处理
我们常常在PHPCMS的文章页会调用一些相关文章,相关文章是根据当前文章的关键词来相关的,关键词一般有多个,默认都是逗号隔开,我们用逗号来分割关键词出线空结果如何处理呢
2020-08-30 07:30:10  来源:PHPCMSX

  PHPCMS中文章关键词字段 keywords 中储存的关键词一般有多个关键词,关键词和关键词之间都是用逗号隔开的,在PHP中我们为了逐个获取每个关键词我们一般都将关键词字段里的字符数据按逗号分隔打散成数组,方便进一步的遍历处理。

  比如:

 $keywords_arr = explode(',',$keywords);
 foreach($keywords_arr as $val){
     ...
 }


但是有时候我们的关键词在添加文章的时候习惯用空格来分开,这时候PHPCMS程序还任然按逗号分隔关键词,就会造成关键词为空的情况,我们就需要稍微调整一下PHPCMS的相关程序


在/phpcms/modules/content/class/content_tag.class.php文件中大约127行左右,找到

$keywords = str_replace(array('%',"'"), '',$data['keywords']);
$keywords_arr = explode(' ',$keywords);


修改成:

$keywords = str_replace(array('%',"'",","), array('','',' '),$data['keywords']);
//注意第二个参数第三个元素是一个空格
$keywords_arr = explode(' ',$keywords);


这样我们使用空格来分隔关键词也不会出线错误了。