如题.... 前端做法没什么压力,就是后端怎么对匹配用户进行匹配加url啊~~
学习是最好的投资!
php - 類似新浪的@匹配用戶是怎麼做的啊-PHP中文網問答-php - 類似新浪的@匹配用戶是怎麼做的啊-PHP中文網問答
圍觀一下哦,學習一下。
微博的做法其实是这样的,id,uid,昵称都是唯一的。http://weiboc.om/{id}http://weibo.com/u/{uid}http://weibo.com/n/{screen_name}
三个字段都建立唯一索引。@后也没必要处理URL,展现时前台用JS匹配昵称,点击链接后通过路由决定查找的字段,然后跳转到对应主页。
@的文字是用户名,而链接是id,所以需要一个用户名到id的查询,是缓存,nosql还是普通的db看你的业务。 然后php可以写一个preg_replace_callback 举例:
$text = preg_replace_callback('/@(\w+)/u', uname, $text); function uname($matches) { $uname = $matches [1]; $uid = get_uid_by_uname($uname); return "<a href=\"/u/{$uid}\">{$uname}</a>"; }
自动完成
php - 類似新浪的@匹配用戶是怎麼做的啊-PHP中文網問答-php - 類似新浪的@匹配用戶是怎麼做的啊-PHP中文網問答
圍觀一下哦,學習一下。
微博的做法其实是这样的,id,uid,昵称都是唯一的。
http://weiboc.om/{id}
http://weibo.com/u/{uid}
http://weibo.com/n/{screen_name}
三个字段都建立唯一索引。@后也没必要处理URL,展现时前台用JS匹配昵称,点击链接后通过路由决定查找的字段,然后跳转到对应主页。
@的文字是用户名,而链接是id,所以需要一个用户名到id的查询,是缓存,nosql还是普通的db看你的业务。
然后php可以写一个preg_replace_callback
举例:
自动完成