2016-06-13 89 views
0

我想查找文本中的整個單詞而不是子字符串。 我寫了下面的代碼。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'字。

在此先感謝

+1

可能重複[檢查字符串是否包含特定單詞?](http://stackoverflow.com/questions/4366730/check-if-string-contains-specific-words) –

回答

2

\b可以在正則表達式可以用來匹配單詞邊界。

\bso\b 

應該只匹配so當它是它自己:

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

注意preg_match出錯返回0上沒有匹配和false所以你不妨檢查這些值。以上內容也不區分大小寫。您可以使用/\bso\b/i忽略大小寫。