微博,CSDN,知乎,豆瓣等产品的@功能的技术实现(猜想)

由于项目需要添加@功能,在评论以及发布短篇内容中@提及用户,于是参考了一些产品的@实现。记录如下:

  1. CSDN的@的实现:

CSDN在客户端版本的叫做Blink的功能中引入了@功能,当你输入内容以及@用户,展示内容是 @深圳热心市民 你好

实际存储的内容是: 

"[at]{\"u\":\"u013107634\",\"n\":\"深圳热心市民\"}[/at]你好!"

以自定义标签[at] [/at] 开始和结束,并在中间拼接了json 字符串 其中 u 应该是 用户id , n 表示用户名。

这样的就需要客户端使用正则表达式去解析字符串 ,使用户名高亮以及可点击。

    

2. 知乎的@的实现:

展示的内容是 @深圳热心市民 你好!

实际存储的内容是:

"<p><a class=\"member_mention\" href=\"/people/2b891f7d75010801ea25d4e199343b24\" data-hash=\"2b891f7d75010801ea25d4e199343b24\">@深圳热心市民</a> 你好! </p>",
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值