0

我正在尝试对发布的$link帖子进行$chat超过$nick2 次或更多或等于 3 次的计数,然后调用禁令功能。

我试过if (count(explode($link, $chat, $nick))>=3) {了,我知道这不是真的,但我没有选择,我仍然处于 PHP 学习的开始阶段。

提前致谢

4

1 回答 1

0

由于我不确定您的 $chat 字符串看起来像什么,我将采用看似合理的解决方案:

$lines = explode("\n\r", $chat);
$links = array();
foreach ($lines as $line) {
    $nickAndLink = explode(':', $line) // assumes each line is made as "nick: text"
    $nick = $nickAndLink[0];
    $link = $nickAndLink[1];
    $link = trim($link) //Trim spaces and other spacing characters;
    if (!isset($links[$nick][$link])) {
        $links[$nick][$link] = 1;
    } else {
        $links[$nick][$link] += 1;
    }
    if ($links[$nick][$link] >= 3) {
        echo $nick . " is spamming";
    }
}

这不是非常有效,但是鉴于我所拥有的信息,这是我唯一能想到的。希望它能给你一个想法。

于 2013-08-19T00:01:40.277 回答