Поиск значения массива & preg_replace

  • Автор темы Автор темы morfey
  • Дата начала Дата начала

morfey

Новичок
Есть некоторый массив $net с айпишниками.

Нужно удалить элементы содержащие паттерн "#\.(0|255)$#" без использования цикла. Возможно?)
Не могу сообразить

P.S. Тему немного неправильно написал, извиняюсь
 
PHP:
array_filter($net, function($item) { return !preg_match(...);} );

или

PHP:
explode(';', preg_replace('~(^|;)[0-9.]+\.(0|255)(;|$)~U', '$1', join(';', $net)));

правда оба варианта я не проверял :)
 
Да, спасибо, то что нужно.
PHP:
$net = array(.....);
$correct_net = array_filter($net, function($item) { return !preg_match("#\.(0|255)$#", $item);} );
 
preg_grep + PREG_GREP_INVERT

Gas, а зачем предлагать второй, заведомо плохой, вариант?
 
Gas, а зачем предлагать второй, заведомо плохой, вариант?

чсв, типа я ещё и крестиком вышивать умею, конечно не расчитывал что кто-то будет его использовать в продакшене.
 
Сверху