Поиск "Слова" в строке. Найти позицию этого слова.

denisOg

Новичок
PHP:
$text = 'Я буду всегда делать все замечательно!';
$search = 'Все';
echo mb_stripos($text,$search,0,"UTF-8");
Вернет 7.
Это не верно. Это первое вхождение. А мне нужно слово.
Решулярка тоже вернет слово, если есть. Но не позицию его.

Могу разбить строку на массив, с помощью explode().
Но как узнать позицию самого слова "все" в строке?
 

Andkorol

Новичок
Решулярка тоже вернет слово, если есть. Но не позицию его.
Для preg_match и preg_match_all есть флаг PREG_OFFSET_CAPTURE:
PREG_OFFSET_CAPTURE
В случае, если этот флаг указан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемого массива matches в массив, каждый элемент которого содержит массив, содержащий в индексе с номером 0 найденную подстроку, а смещение этой подстроки в параметре subject - в индексе 1.
 

WMix

герр M:)ller
Партнер клуба
Andkorol
он в слова "всегда" нашел "Все"
 

WMix

герр M:)ller
Партнер клуба
мдя, и в середине с запятой тоже... согласен...
 
Сверху