我正在尝试对发布的$link
帖子进行$chat
超过$nick
2 次或更多或等于 3 次的计数,然后调用禁令功能。
我试过if (count(explode($link, $chat, $nick))>=3) {
了,我知道这不是真的,但我没有选择,我仍然处于 PHP 学习的开始阶段。
提前致谢
由于我不确定您的 $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";
}
}
这不是非常有效,但是鉴于我所拥有的信息,这是我唯一能想到的。希望它能给你一个想法。