我想在文本中找到整个单词而不是子字符串。 我写了以下代码。
$str = 'its so old now.';
$a = 'so';
if (stripos($str,$a) !== false) {
echo 'true';
} else {
echo 'false';
}
str1 = 'its so old now.';
str2 = 'it has some issue.';
我想找到“' so'在文本中。它在字符串中都给出了true。但我想在第一种情况下才是真的,因为在第二个字符串'所以'包含一些'词语的
提前致谢
答案 0 :(得分:2)
\b
来匹配单词边界。
\bso\b
只有匹配so
时才能与之匹配:
if(preg_match('/\bso\b/',$str)){
echo "Matches!";
}
请注意,preg_match
在不匹配时返回0
,在错误时返回false
,因此您可能希望检查这些值。以上也是不区分大小写的。您可以使用/\bso\b/i
忽略大小写。