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

类似百度百科的弹出词条功能该怎么实现比较好?

  •  
  •   lcq · 2020-09-14 11:22:10 +08:00 · 2017 次点击
    这是一个创建于 1530 天前的主题,其中的信息可能已经有所发展或是发生改变。
    百度百科内容中可以跳转到其他词条的功能具体是怎么实现的?大佬们会怎么做?
    14 条回复    2020-09-14 16:47:01 +08:00
    aguesuka
        1
    aguesuka  
       2020-09-14 12:01:18 +08:00 via Android
    wiki 是开源的,看源码
    hdh320721
        2
    hdh320721  
       2020-09-14 12:03:08 +08:00 via Android
    我上外网用的 vps,平时都好好的,只要一连校园网 为什么就会卡的要死啊?有人知道嘛
    lcq
        3
    lcq  
    OP
       2020-09-14 13:39:15 +08:00
    @aguesuka 能抛个链接吗 谢谢
    RiESA
        4
    RiESA  
       2020-09-14 13:43:40 +08:00
    lcq
        5
    lcq  
    OP
       2020-09-14 13:44:42 +08:00
    @RiESA 谢谢
    lcq
        6
    lcq  
    OP
       2020-09-14 13:48:19 +08:00
    @aguesuka 看不太明白
    lcq
        7
    lcq  
    OP
       2020-09-14 13:48:33 +08:00
    各位有什么好的解决办法吗
    RiESA
        8
    RiESA  
       2020-09-14 15:23:30 +08:00
    跳转和弹出是俩需求
    不清楚楼主具体的要求,是希望自动分词然后存在页面的就生成链接吗?
    这种的话其实百度百科包括维基百科之类的东西,这种都是人工编辑实现堆出来的,而不是自动生成的
    就是由编辑者在内容中做跳转而已,只是有一定语法,不用输入 url,比如拿 mediawiki 的语法来说,
    假设站内有一个叫"测试"的页面,那编辑过程中,编辑者只要输入
    这是一段[[测试]]内容
    这是一段[[测试|测试内容]]
    都可以实现跳转的效果,起码目前维基百科的 mediawiki 都是这种结构,百度的不清楚
    至于你说的弹出,实际是另外种东西,就不赘述了
    lcq
        9
    lcq  
    OP
       2020-09-14 16:03:20 +08:00
    @RiESA 其实功能是这样的,比如我编辑的内容是“abcdefg”,然后 a 是一个词条,我想让他高亮且能跳转到他的详情页去看
    lcq
        10
    lcq  
    OP
       2020-09-14 16:04:07 +08:00
    @RiESA 就类似百度百科那种,这段话里有包含其他词条的就显示高亮且能跳转
    lcq
        11
    lcq  
    OP
       2020-09-14 16:05:20 +08:00
    @RiESA 想知道这种是怎么实现的,是你刚刚说的就是编辑的时候去维护的还是用另外一种方式做的?
    RiESA
        12
    RiESA  
       2020-09-14 16:43:00 +08:00
    @lcq 维基百科以及采用维基百科同架构采用 mediawiki 的网站,都是编辑的时候维护的,百度百科不清楚
    dovme
        13
    dovme  
       2020-09-14 16:46:27 +08:00
    保存的时候,通过分词判断有没有可以高亮展示的关键词,有的话,在第一次出现这个关键词的地方加入对应的链接.
    比如:"世界上最好的语言是 PHP"--->PHP 符合规则,就替换成-->"世界上最好的语言是<a
    href='www.xxx.com/php'>PHP<a>" 然后保存. 判断关键字是否存在应该可以使用布隆过滤.
    RiESA
        14
    RiESA  
       2020-09-14 16:47:01 +08:00
    @lcq 维基百科之类的可以直接看到代码段,你可以直接点编辑进去看看
    例如这个

    https://zh.wikipedia.org/w/index.php?title=%E6%AF%94%E5%B0%94%C2%B7%E8%B4%B9%E5%B0%94%E5%8D%97%E5%BE%B7%E6%96%AF

    '''比尔·费尔南德斯'''({{lang-en|Bill Fernandez}},{{bd|?||?|}})是[[美国]][[用户界面|用户界面]]设计师和发明家,他是[[蘋果公司|苹果公司]]1977 年成立时的第一位员工,并且是苹果公司的 4 号员工。他是比尔·费尔南德斯法官({{lang|en|Judge Bill Fernandez}})和斑比·费尔南德斯({{lang|en|Bambi Fernandez}})的儿子(他们均为[[史丹佛大學|斯坦福大学]]毕业生)

    中括号里的都是跳转
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2734 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 13:31 · PVG 21:31 · LAX 05:31 · JFK 08:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.