使用织梦默认的搜索功能时,发现搜索某一关键词时,搜索展示页面样式错乱了。经过排查,确定是关键词标红引起的。
 
出现此问题的原因:
 
织梦搜索页面会将搜索关键词进行标红(字体颜色改为红色)处理。在代码中体现出来就是将关键词文字替换为套上font标签的文字。
 
如关键词为“织梦模板”,在搜索页中会将“织梦模板”替换为“<font color=’red’>织梦模板</font>”
在标题中标红关键词时没有问题的,但是内容描述中标红就容易出错了。
内容描述通常是限定字数的。
 
若关键词正处于描述的结尾部分,在标红处理的时候,font标签也会占用字数,所以会造成font标签显示不全。
font标签不闭合,后面的代码都会显示错误。所以会出现样式错乱。
 
去掉关键词标红的处理方式 :
 
打开 include/arc.searchview.class.php 文件,
 
找到代码:



1 $fstr = str_ireplace($k, "<font color='red'>$k</font>", $fstr);

 
在352行左右。然后将其注释掉。