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