V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
flyphy
V2EX  ›  PHP

kindeditor编辑器保存的文章带html标签,进行文章关键词搜索如何排除标签内容干扰

  •  
  •   flyphy · 2011-07-15 09:22:13 +08:00 · 5927 次点击
    这是一个创建于 4640 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如空格保存入数据库为&nbsp,则搜索“b”这个关键词将这条记录也查询到,这种情况如何处理?
    4 条回复    1970-01-01 08:00:00 +08:00
    ayanamist
        1
    ayanamist  
       2011-07-15 10:03:10 +08:00
    存储的时候纯文本数据单独存一个字段?然后搜索的时候对这个纯文本字段进行搜索?
    flyphy
        2
    flyphy  
    OP
       2011-07-15 10:13:22 +08:00
    @ayanamist 纯文本替换的话,不能在搜索结果页面保持文章的结构与样式。有没排除HTML标签进行搜索替换的正则算法?
    manhere
        3
    manhere  
       2011-07-15 10:28:15 +08:00
    我的解决方法:限制过短的关键词
    ayanamist
        4
    ayanamist  
       2011-07-15 12:05:55 +08:00
    楼上是一个办法,还可以把转义过的东西转义回来,然后再写入数据库,输出的地方再转义一次。不过说实话,做纯文本还是要好一些。因为可以利用各种全文搜索引擎来索引,而且可以避免单字被markup切割的问题(例如「好<b>吧</b>」这样的你不做纯文本如何搜索),况且你只需要在给摘要的时候高亮关键字吧,可以直接应用纯文本显示搜索结果并高亮呀,不可能在搜索页面直接显示全文吧。进入搜索页面后根据referer用js做全文高亮会更可靠一些,也可以有效降低服务器压力。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1009 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:02 · PVG 06:02 · LAX 15:02 · JFK 18:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.