我有一个这样的字符串:
$string = '[Canada] [United States]';
我需要检测这样的东西
if($string contains Canada) {
// Do stuff for Canada
}
我有一个这样的字符串:
$string = '[Canada] [United States]';
我需要检测这样的东西
if($string contains Canada) {
// Do stuff for Canada
}
您可以提取 和 之间的所有文本[
,]
然后查看是否在结果数组中找到它。
preg_match_all('/\[(.*?)\]/', $string, $matches);
if (in_array('Canada', $matches[1])) {
echo 'Hello, Canada!';
}
键盘。
如果您只使用子字符串搜索函数,您将面临搜索的字符串是括号之间较大块的子字符串的风险。
如果您正在进行简单的文本匹配,并且不希望使用正则表达式引擎的开销,那么该strpos
函数可能就是您正在寻找的。有关更多详细信息,请参阅strpos的 PHP 手册页面。
if(strpos($string,"Canada")!==FALSE){
// Do stuff for Canada
}
由于手册指出,对于程序员只关心查找匹配项而不关心匹配项所在的位置的情况,该函数的使用strpos()
是首选,因此速度更快且内存占用更少。strstr()
strpos()
使用strstr()
.