解决齐博CMS文章关键字加亮时 图片alt描述被替换

作者:匿名 hihi 来源:bbs.qibosoft.com 浏览: 2011-9-15 9:44:18 字号:
[摘要]后台选择内容页关键字加亮显示,如果文中有图片,图片有alt描述,描述中包含关键字的话,描述中的关键字会存在被替换的现象。本文介绍通过修改inc/artic_function.php解决此问题。

  齐博CMS系统,原PHP168整站系统是国内开源CMS系统中较全面的产品,适合二次开发,此外用户可以在后台对页面进行可视化标签调用。模板制作较简单,但后台较为复杂。

  问题:后台选择内容页关键字加亮显示,如果文中有图片,图片有alt描述,描述中包含关键字的话,描述中的关键字会存在被替换的现象。

  解决方法:打开inc目录下的artic_function.php的文件,找到如下代码中相应的两个函数,替换成如下代码即可:

function show_keyword($content){ 
global $Key_word,$webdb,$pre,$db;
if(!$webdb[ifShowKeyword]){
return $content;
}
require_once(ROOT_PATH."data/keyword.php");
//把图片描述去掉
//$content=preg_replace("/ alt=([^ >]+)/is","",$content);
foreach( $Key_word AS $key=>$value){
if(!$value){
$value="$webdb[www_url]/do/search.php?type=title&keyword=".urlencode($key);
}
$search[]=$key;
$replace[]="<a href=$value style=text-decoration:underline;font-size:14px;color:{$webdb[ShowKeywordColor]}; target=_blank>$key</a>";
}
$content=str_replace_limit($search,$replace,$content,2);
return $content;
}
function str_replace_limit($search, $replace, $subject, $limit=-1) {
if (is_array($search)) {
foreach ($search as $k=>$v) {
$search[$k] = "/(?!<[^>]+)".preg_quote($search[$k],'/')."(?![^<]*>)/";
}
}else{
$search = "/(?!<[^>]+)".preg_quote($search,'/')."(?![^<]*>)/";
}
return preg_replace($search, $replace, $subject, $limit);
}

  • 软件大小:10.89MB
  • 软件类别:国产软件 | CMS建站
  • 软件语言:简体中文
  • 运行环境:PHP/Mysql
  • 软件授权:免费版
  • 更新时间:2011-5-13 11:52:18
  • 相关链接:Home Page

sssss
Tags: 齐博cms   php168   cms关键字   图片alt   cms  
责任编辑:190
编辑推荐排行