已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP

标题: 新鲜出炉@人代码,很简短哟

作者: @Ta

时间: 2016-03-11发布,2016-03-11修改

点击: 3538

<?php
namespace Plugin;

class reply{

    public function __construct(&$params){
        preg_match_all('/@(.*?),/', $params, $result, PREG_SET_ORDER);
        if($result){
            $replace_key = [];
            $replace_val = [];
            foreach($result as $val){
                $response = M('Account')->findByNick($val[1]);  //这里我用了框架,其实就是去数据库查有没有这号人
                if($response){
                    $replace_key[] = $val[0];
                    $replace_val[] = "<a href=".U('index/Account/zone/id/'.$response['id']).">{$val[0]}</a>";
                }
            }
            $params = str_replace($replace_key, $replace_val, $params);
        }
    }

}

用法:
$content = "@老虎会游泳@哈哈呵呵, 巴拉巴拉";
new reply($content);
这时候$content中的内容就已经被替换好了,直接写入数据库就行了.

[隐藏样式|查看源码]


『回复列表(8|隐藏机器人聊天)』

1. 去数据库查询有没有该人的那段,在用户表很大的时候运行速度会变慢,目前没想到解决办法,可以学葫芦林舍弃该段。
(/@Ta/2016-03-11 01:09//)

2. 貌似function就可以搞定的东西 为什么要用class
(/@Ta/2016-03-11 01:57//)

3. @小蒋同学,因为这是我写的插件,插件的机制基于对象
(/@Ta/2016-03-11 02:55//)

4. 数据库可以limit分段,每次查500
(/@Ta/2016-03-11 14:46//)

5. 这是适用于什么程序的?
(/@Ta/2016-03-12 01:45//)

6. 目测 TP 框架@剑士雅木
(/@Ta/2016-03-12 02:41//)

7. @水木易安,实际上这是我自己的小程序里的一个示例插件。其实也算是仿tp的。
(/@Ta/2016-03-12 12:20//)

8. @hugbox,ceshgi
(/@Ta/2016-03-12 15:05//)

回复需要登录

7月24日 18:42 星期四

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1