2015-03-19 3 views
0

Как вернуть позицию отдельного слова, например:strpos(); вернуть положение отдельного слова

echo strpos("I love academyphp, I love php too!","php"); 

Я хочу найти только положение свободных слов PHP и игнорировать позицию academyphp.

+0

Вы что-то пробовали или провели какое-то исследование? – Rizier123

+0

Итак, вы сдались или что? – AbraCadaver

ответ

-1

Добавить пространство для "PHP" и добавьте 1:

echo strpos("I love academyphp, I love php too!"," php")+1; 

Или два пространства, если вы хотите, чтобы быть "свободными" с обеих сторон:

echo strpos("I love academyphp, I love php too!"," php ")+1; 
+0

Почему вы добавляете '+ 1'? – Rizier123

+0

, потому что пробел перемещается по одной строке вверх. –

3

Вы будете нуждаться в более универсальная функция. \b слово граница:

preg_match('/\bphp\b/', $string, $matches, PREG_OFFSET_CAPTURE); 
echo $matches[0][0] . ' found at position ' . $matches[0][1]; 

Если вам необходимо найти более одного использования preg_match_all.

+0

, который будет соответствовать $ php €, который знает, достаточно ли он. –

+0

Я бы сказал, чтобы опубликовать ваш шаблон, но похоже, что OP отказался от этого. – AbraCadaver