Добрый вечер. Я делаю бот IRC, который отвечает, когда вы упоминаете его. Я хочу знать, как заставить его ответить, когда кто-то действительно говорит свое имя. Это то, что я до сих пор ($ матч [3] является сообщение, что кто-то сказал на канале и да, stripos, потому что я хочу, это не чувствительны к регистру):PHP - Как проверить, содержит ли строка слово?
if (stripos($match[3], "ircBot") !== false) {
$isMentioned = true;
}else { $isMentioned = false; }
, а это на самом деле обнаружить, если кто-то сказал, что его имя, он работает только тогда, когда он упоминается в самом начале сообщения так, например:
- «IRCBot находится в самом начале этого Сентанс» бы $ isMentioned правда
- «Там IRCBot в между этим расчетом "будет делать $ isMentioned false
- «В конце этого Сентанс является IRCBot» бы $ isMentioned ложных
Я хочу, чтобы вернуть истину, если «IRCBot» является где-нибудь в $ матча [3], а не только начало
_ «' Там это IRCBot между этой sentance' бы $ isMentioned ложь»_ - это просто не ... ну, правда: http://3v4l.org/8Efg4 – CBroe
Обновление: на самом деле отвечает. До тех пор, пока нет ircBot – LunarMage
. Это также неверно. Вышеприведенный код вернет 'true' до тех пор, пока' ircBot' будет _anywhere_ в строке темы - не имеет значения, находится ли он в самом начале, между или в конце и есть ли перед ним пробелы или нет. Это просто то, что 'stripos' _does_. Вы должны проверить, что на самом деле содержит '$ match [3]', похоже, что это не так, как вы думаете ... – CBroe