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

morfey

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

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

P.S. Тему немного неправильно написал, извиняюсь
 

Gas

может по одной?
PHP:
array_filter($net, function($item) { return !preg_match(...);} );
или

PHP:
explode(';', preg_replace('~(^|;)[0-9.]+\.(0|255)(;|$)~U', '$1', join(';', $net)));
правда оба варианта я не проверял :)
 

morfey

Новичок
Да, спасибо, то что нужно.
PHP:
$net = array(.....);
$correct_net = array_filter($net, function($item) { return !preg_match("#\.(0|255)$#", $item);} );
 

Вурдалак

Продвинутый новичок
preg_grep + PREG_GREP_INVERT

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

Gas

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