测试一个字符串是否包含PHP中的单词?

时间:2012-02-02 20:02:03

标签: php string-comparison

在SQL中,我们有NOT LIKE %string%

我需要在PHP中执行此操作。

if ($string NOT LIKE %word%) { do something }

我认为可以使用strpos()

完成

但无法弄明白......

我需要在有效的PHP中完全相同的比较句子。

if ($string NOT LIKE %word%) { do something }

由于

5 个答案:

答案 0 :(得分:67)

if (strpos($string, $word) === FALSE) {
   ... not found ...
}

请注意strpos()区分大小写,如果您想要不区分大小写的搜索,请改用stripos()

还要注意===,强制进行严格的相等测试。 strpos如果“'针”,则返回有效的0。 string位于' haystack'的开头。通过强制检查实际的布尔值false(也就是0),可以消除误报。

答案 1 :(得分:19)

使用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
}

答案 2 :(得分:1)

<?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";
    }

答案 3 :(得分:1)

use 

if(stripos($str,'job')){
   // do your work
}

答案 4 :(得分:0)

如果您只想找到类似 “你好吗”中的“是” 而且不喜欢 “是”在“兔子”中

$word=" are ";
$str="How are you?";
if(strpos($word,$str) !== false){
echo 1;
 }