2016-04-30 10 views
-1

finden Ich habe ein Problem mit Suchwerkzeug! Ich verwende strpos function, um $phrase_key in $sentence zu suchen, und dort sind einige falsch!exacly Satzsatz, kein Weg der Phrase

strpos($sentence , $phrase_key, 0) 
$phrase_key = "on the"; 
$sentence1 = "i am sitting on the table"  // Good search 
$sentence2 = "the book is on the floor"  // Good search 
$sentence3 = "create function theme to..." // it not fine 
  • on the ist ein Weg der function theme und Themen Funktion ist nicht Ausdruck i
  • Bitte sagen Sie mir finden müssen, wie dieses Problem zu beheben, oder wie die falsche Suche zu finden! vielen dank!
+0

Was genau ist Ihr Problem lesen? Auch, was ist mit diesen "Gute Suche" und "Es ist nicht gut" ?? –

Antwort

0

können Sie regelmäßig verwenden Ausdruck mit Wortgrenze \b metacharacter:

if(preg_match("~\b$phrase_key\b~", $sentence, $matches)) 
{ 
    // matched string is now in $matches[0] 
} 

Wenn Sie in der Teilkette Position interessant sind, verwenden PREG_OFFSET_CAPTURE Flagge:

if(preg_match("~\b$phrase_key\b~", $sentence, $matches, PREG_OFFSET_CAPTURE)) 
{ 
    // matched string is now in $matches[0][0] 
    // matched string position is now in $matches[0][1] 
} 

regex101 demo