php - 如何测试字符串是否包含大写单词?

时间:2011-10-14 08:41:37

标签: php match

$ string =“ttest test NEEDLE haystack”;

如何匹配以查看$ string是否包含大写单词“NEEDLE”?

我一直在使用if ( stristr($string, 'NEEDLE') === TRUE ),但它不区分大小写。

TIA

3 个答案:

答案 0 :(得分:3)

只需使用 strstr

if ( strstr($string, 'NEEDLE') === TRUE )

但是:这仍然会失败,因为如果找不到子字符串, strstr 函数和 stristr 会返回一个字符串而只返回一个布尔值。您也可以使用strpos,如果找不到子字符串,则返回整数 false:

if (strpos($string, 'NEEDLE') !== false)

答案 1 :(得分:1)

您可以使用strstr功能,stristr是区分大小写的版本:

if ( strstr($string, 'NEEDLE') !== false ) {
  // do something...
}

请注意strstr文档建议您使用strpos,如果您只是想知道针是否出现在大海捞针内。

如果您需要更复杂的比较,也可以使用preg_match,但在这种情况下,我认为strstr已经足够了。

答案 2 :(得分:0)

使用区分大小写的strpos

if (strpos($string, 'NEEDLE') !== false)

strstr在这里也可以正常工作,但不必要地返回字符串的其余部分,而不仅仅是匹配的短指示。请注意,stristrstrstrstrpos都不会返回true