Php使用正则表达式在文本中找到单词

时间:2016-06-13 09:40:44

标签: 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'在文本中。它在字符串中都给出了true。但我想在第一种情况下才是真的,因为在第二个字符串'所以'包含一些'词语的

提前致谢

1 个答案:

答案 0 :(得分:2)

可以在正则表达式中使用

\b来匹配单词边界。

\bso\b

只有匹配so时才能与之匹配:

if(preg_match('/\bso\b/',$str)){
    echo "Matches!";
}

请注意,preg_match在不匹配时返回0,在错误时返回false,因此您可能希望检查这些值。以上也是不区分大小写的。您可以使用/\bso\b/i忽略大小写。