Find whole word with strpos()

php, strpos

Solution

Use regex , with the word boundary delimiter `\b`, like this :

$mystring = "It's a beautiful morning today!";
preg_match_all('/\ba\b/', $mystring, $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);

returns

array(1) {
  [0]=>
  array(1) {
    [0]=>
    array(2) {
      [0]=>
      string(1) "a"
      [1]=>
      int(5)
    }
  }
}

Problem

Hello people :) I'm trying to use strpos() to find whole words in a sentence. But at the moment, it also find the word if it just are a part of another word. For example: ``` $mystring = "It's a beautiful morning today!"; $findme = "a"; $pos = strpos($mystring, $findme); ``` In this example it would find "a" in the word "a" (as it should do), but also in "beautiful" because there is an a in it. How can i find only whole words and not if it is a part of other words?

Original source