@VaswatiPal Ваш вопрос не решен. Насколько близко я подошел к решению вашего вопроса? Нужно ли корректировать мой ответ?
ужно найти только элементы массива, которые имеют определенный набор букв и любой символ до или после набора букв.
У меня есть массивы, подобные этим:
$sample = array("sten", "netff", "enet", "denet");
$value = array('e', 'n', 't');
Мне нужно найти значения из$sample
массив, который имеет'e,n,t'
символы и одинарные или двойные символы до или после (с обеих сторон, а не с обеих сторон) слова соответствия. Если я буду искать по шаблону e, n, t и 1 букве до или после него (с любой стороны, а не с обеих сторон), результат будет
array("sten", "enet")
и если я буду искать с шаблоном e, n, t и 2 буквы до или после него (с любой стороны, а не с обеих сторон), результат будет
array("netff", "denet")
Я пытался с регулярным выражениемpreg_grep()
но это не работает:
1 буква до или после (любая сторона, а не обе стороны):
$result = preg_grep("/^(?:.{1}".$value."|".$value.".{1})$/", $sample);
2 буквы до или после (с любой стороны, а не с обеих сторон):
$result = preg_grep("/^(?:.{2}".$value."|".$value.".{2})$/", $sample);