V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rockxie
V2EX  ›  问与答

论坛里面的@用户名功能如何实现?

  •  
  •   rockxie · 2012-01-03 22:39:25 +08:00 · 4499 次点击
    这是一个创建于 4505 天前的主题,其中的信息可能已经有所发展或是发生改变。
    原理是不是在提交的时候,对内容进行判断,如果有@用户名 这样的语法,就发一个消息给此用户?

    能否详细讲下?
    9 条回复    1970-01-01 08:00:00 +08:00
    XDash
        1
    XDash  
       2012-01-04 00:46:32 +08:00
    一般都是这么实现的吧

    具体还得 @Livid 童鞋揭晓
    bitsmix
        2
    bitsmix  
       2012-01-04 01:26:55 +08:00
    github 上不是有v2ex源码么?
    自己看呗
    Just1n
        3
    Just1n  
       2012-01-04 09:17:21 +08:00
    evlos
        4
    evlos  
       2012-01-04 09:29:09 +08:00
    rockxie
        5
    rockxie  
    OP
       2012-01-04 10:10:57 +08:00
    感谢楼上同学们的回答。

    他这个是py版本,我想用php实现。
    fanzeyi
        6
    fanzeyi  
       2012-01-04 10:13:04 +08:00
    一般都是正则提取用户名.. 然后给 @xxx 替换成 @<a href="/user/xxx">xxx</a> 的形式吧..
    napoleonu
        7
    napoleonu  
       2012-01-04 10:25:32 +08:00
    https://github.com/livid/v2ex/blob/master/v2ex/templatetags/filters.py

    # auto convert @username to clickable links
    def mentions(value):
    rockxie
        8
    rockxie  
    OP
       2012-01-07 14:16:45 +08:00
    @napoleonu 多谢,已经用php实现。就是中文没搞定。
    daqing
        9
    daqing  
       2012-01-07 15:40:17 +08:00
    @rockxie 正则表达式用Unicode就可以搞定中文。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2299 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:38 · PVG 12:38 · LAX 21:38 · JFK 00:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.