Найти символ до или после строки, используя preg_grep () в PHP

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

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

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

Я пробовал со следующим кодом, но не работал.

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

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

     $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 )