preg grep — поиск символа до или после строки с помощью preg_grep () в переполнении стека

Мне нужно найти любой символ до или после слова, используя PHP preg_grep() из массива. У меня есть массив, как следующий

$findgroup = array("aphp", "phpb", "dephpfs", "potatoes");

Мне нужно найти значения из массива, которые имеют слово «php» с одинарным или двойным символом до или после (любой стороны, а не обеих сторон) слова «php». Результатом должно быть слово «aphp», «phpb» из массива.

Я пытался с помощью следующего кода, но не работает.

$result[] = preg_grep("/(.{1})php(.{1})/", $findgroup);

0

Решение

Прикрепите свое регулярное выражение и добавьте квантификатор для символа до и после:

$findgroup = array("aphp", "phpb", "dephpfs", "potatoes", "aphpb", "php");
$result = preg_grep("/^(?:.{1,2}php|php.{1,2})$/", $findgroup);
print_r($result);

Выход:

Array
(
[0] => aphp
[1] => phpb
)
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]