使用織夢默認的搜索功能時,發現搜索某一關鍵詞時,搜索展示頁面樣式錯亂了。經過排查,確定是關鍵詞標紅引起的。
出現此問題的原因:
織夢搜索頁面會將搜索關鍵詞進行標紅(字體顏色改為紅色)處理。在代碼中體現出來就是將關鍵詞文字替換為套上font標簽的文字。
如關鍵詞為“織夢58”,在搜索頁中會將“織夢58”替換為“<font color='red'>織夢58</font>”
在標題中標紅關鍵詞時沒有問題的,但是內容描述中標紅就容易出錯了。
內容描述通常是限定字數的。
若關鍵詞正處于描述的結尾部分,在標紅處理的時候,font標簽也會占用字數,所以會造成font標簽顯示不全。
font標簽不閉合,后面的代碼都會顯示錯誤。所以會出現樣式錯亂。
去掉關鍵詞標紅的處理方式 :
打開 include/arc.searchview.class.php 文件,
找到代碼:
-
$fstr = str_ireplace($k, "<font color='red'>$k</font>", $fstr);
在352行左右。然后將其注釋掉。