使用Z-Blog的朋友也许都发现了,Z自带站内搜索的结果,摘要部分会有原始的html代码,那么也许你要问,为什么不直接显示html格式呢?
搜索结果是在内容部分 上行100个字符、下行200个字符,这时候就没办法控制不截断html代码,截断的几率还是很大的,所以只好把html代码转换成可以显示的格式一起搜索了。
那么我们有什么办法解决这样的问题呢?先看百度和Google,随便搜索一个结果,你会发现结果部分既没有html代码也不是html格式,见下图。搜索引擎爬虫抓站导入数据库的时候也是要过滤掉html代码的。
站内搜索就是一个简单的搜索引擎,如果我们把需要搜索字段的html先过滤掉,效果应该更好一些。当然了,也就不会出现奇怪的html代码在页面上了。
下面说一下针对Z-Blog的修改,打开FUNCTION/c_system_lib.asp,大约574行
- aryTemplateTagsValue(4)=Search(TransferHTML(Intro & Content,“[html-format]”),Request.QueryString(“q”))
找到上面的代码,修改为
- aryTemplateTagsValue(4)=Search(TransferHTML(Intro & Content,“[html-format][nohtml]”),Request.QueryString(“q”))
注:TransferHTML为Z-Blog自带的函数,[html-format]、[nohtml]均为可选参数,可以参考 FUNCTION/c_function.asp
就是这么多了,也许你要说用插件解决这个问题,这里我觉得还是直接修改源码更好。
近期评论