Проверить, содержит ли строка слово в PHP?
В SQL мы имеем NOT LIKE %string%
Мне нужно сделать это в PHP.
if ($string NOT LIKE %word%) { do something }
Я думаю, что это можно сделать с помощью strpos()
но не мог понять, как..
Мне нужно точно такое предложение для сравнения в действительном PHP.
if ($string NOT LIKE %word%) { do something }
Спасибо
Ответы
Ответ 1
if (strpos($string, $word) === FALSE) {
... not found ...
}
Обратите внимание, что strpos()
чувствителен к регистру, если вы хотите нечувствительный к регистру поиск, используйте stripos()
.
Также обратите внимание на ===
, вызывая строгий тест равенства. strpos CAN возвращает действительный 0
, если строка "needle" находится в начале "haystack". Заставляя проверить фактическое логическое значение false (aka 0), вы устраняете это ложное срабатывание.
Ответ 2
Используйте strpos
. Если строка не найдена, она возвращает false
, иначе что-то не false
. Обязательно используйте сравнение типа (===
), поскольку 0
может быть возвращено, и это значение ложно:
if (strpos($string, $substring) === false) {
// substring is not found in string
}
if (strpos($string, $substring2) !== false) {
// substring2 is found in string
}
Ответ 3
<?php
// Use this function and Pass Mixed string and what you want to search in mixed string.
// For Example :
$mixedStr = "hello world. This is john duvey";
$searchStr= "john";
if(strpos($mixedStr,$searchStr)) {
echo "Your string here";
}else {
echo "String not here";
}
Ответ 4
use
if(stripos($str,'job')){
// do your work
}