Rumah > pembangunan bahagian belakang > tutorial php > 类似新浪的@匹配用户是怎么做的啊

类似新浪的@匹配用户是怎么做的啊

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-06 20:52:12
asal
1054 orang telah melayarinya

如题.... 前端做法没什么压力,就是后端怎么对匹配用户进行匹配加url啊~~

回复内容:

如题.... 前端做法没什么压力,就是后端怎么对匹配用户进行匹配加url啊~~

微博的做法其实是这样的,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="%5C%22/u/%7B%24uid%7D%5C%22">{$uname}</a>";
}
Salin selepas log masuk

自动完成

Label berkaitan:
php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan