php - 如何测试字符串是否包含大写单词?
$string = "ttest 测试 NEEDLE haystack";
如何匹配以查看 $string 是否包含大写单词“NEEDLE”?
我一直在使用 if ( stristr($string, 'NEEDLE') === TRUE )
但它不区分大小写。
TIA
$string = "ttest test NEEDLE haystack";
How do I match to see if the $string contains the uppercase word "NEEDLE"?
I have been using if ( stristr($string, 'NEEDLE') === TRUE )
but it is not case sensitive.
TIA
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需使用 strstr 代替
但是:这仍然会失败,因为 strstr 函数和 stristr 返回一个字符串,并且仅返回一个布尔值,如果子 -未找到字符串。您还可以使用 strpos 来代替,如果未找到子字符串,它会返回整数或 false:
Just use strstr instead
However: this will still fail, because the strstr function and stristr return a string and only a boolean, if the sub-string is not found. You could also use strpos instead, which returns either an integer or false, if the substring was not found:
您可以使用函数
strstr
,该函数是区分大小写的stristr
版本:请注意,
strstr
文档建议使用strpos
如果你只想知道针是否出现在大海捞针中。如果您需要更复杂的比较,您也可以使用
preg_match
,但在这种情况下我认为 <代码>strstr就足够了。You can use the function
strstr
, which is the case-sensitive version ofstristr
:Note that
strstr
documentation recommends usingstrpos
if you just only want to know if the needle occurs within the haystack.If you need more complex comparisons you could also use
preg_match
, but in this case I thinkstrstr
is enough.使用区分大小写的
strpos
:strstr
在这里也可以工作,但不必要地返回其余部分字符串而不仅仅是匹配位置的简短指示。请注意,stristr
、strstr
或strpos
都不会返回true
。Use the case-sensitive
strpos
:strstr
would work as well here, but unnecessarily returns the rest of the string instead of just a short indication where it has been matched. Note that neither ofstristr
,strstr
, orstrpos
ever returntrue
.