php - 类似新浪的@匹配用户是怎么做的啊
PHPz
PHPz 2017-04-10 13:10:31
[PHP讨论组]

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

PHPz
PHPz

学习是最好的投资!

全部回复(4)
数据分析师

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中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号