Php使用正则表达式在文本中查找单词
问题描述:
我想查找文本中的整个单词而不是子字符串。 我写了下面的代码。Php使用正则表达式在文本中查找单词
$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'。它在字符串中都是真实的。但我只想在第一种情况下是正确的,因为在第二个字符串中'so'包含'some'字。
在此先感谢
答
\b
可以在正则表达式可以用来匹配单词边界。
\bso\b
应该只匹配so
当它是它自己:
if(preg_match('/\bso\b/',$str)){
echo "Matches!";
}
注意preg_match
出错返回0
上没有匹配和false
所以你不妨检查这些值。以上内容也不区分大小写。您可以使用/\bso\b/i
忽略大小写。
可能重复[检查字符串是否包含特定单词?](http://stackoverflow.com/questions/4366730/check-if-string-contains-specific-words) –