2016-06-13 10 views
0

Ich möchte die ganzen Wörter im Text nicht eine Unterzeichenfolge finden. Ich habe folgenden Code geschrieben.PHP Wort im Text mit regulären Ausdruck finden

$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.'; 

Ich möchte Wort 'so' im Text finden. es gibt sowohl in der Saite als auch Aber ich will im ersten Fall nur wahr, weil in der zweiten Zeichenfolge 'so' in 'einigen' Worten enthalten ist.

Vielen Dank im Voraus

+1

Mögliches Duplikat von [Prüfen, ob die Zeichenfolge bestimmte Wörter enthält?] (Http://stackoverflow.com/questions/4366730/check-if-string-contains-specific-words) –

Antwort

2

\b kann in regex verwendet werden Wortgrenzen entsprechen.

\bso\b 

nur Sollte so passen, wenn er auf seine eigene ist:

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

Beachten Sie, dass preg_match kehrt 0 auf keine Übereinstimmung und false auf Fehler, so dass Sie für diese Werte überprüfen möchte. Das obige ist auch nicht zwischen Groß- und Kleinschreibung. Sie können /\bso\b/i verwenden, um Groß- und Kleinschreibung zu ignorieren.

Verwandte Themen