Проверить, содержит ли строка слово в PHP?
В SQL у нас есть NOT LIKE %string%
Мне нужно сделать это на PHP.
if ($string NOT LIKE %word%) { do something }
Я думаю, что это можно сделать с помощью strpos()
Но не мог понять, как..
Мне нужно именно это предложение сравнения в действительном PHP.
if ($string NOT LIKE %word%) { do something }
Спасибо
4 answers
if (strpos($string, $word) === FALSE) {
... not found ...
}
Обратите внимание, что strpos()
чувствителен к регистру, если вы хотите использовать поиск без учета регистра, используйте stripos()
вместо этого.
Также обратите внимание на ===
, требующий строгого теста на равенство. strpos МОЖЕТ возвращать допустимый 0
, если строка "игла" находится в начале "стога сена". Принудительно проверяя фактическое логическое значение false (оно же 0), вы устраняете это ложное срабатывание.
Использовать 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
}
<?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";
}
use
if(stripos($str,'job')){
// do your work
}