Мне нужно найти любой символ до или после слова, используя 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
)
Других решений пока нет …