[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярные выражения для диапазона IP адресов
El Diablo
Доброго времени суток, подскажите пожалуйста, стоит задача определить следующие диапазоны:

77.88.0.0 - 77.88.0.18
77.88.22.0 – 77.88.23.255

Сам написал регулярные выражения:
$range1 = "77.88.0.[0-1][0-9]";
$range2 = "77.88.2[2-3].[0-2][0-9][0-9]";


Но к примеру вот такой код пишет, что не найдено:
if (preg_match("77.88.0.3",$range1)) {
echo "Вхождение найдено.";
} else {
echo "Вхождение не найдено.";
}


Вопросы:
1. Подскажите, что делаю не так?
2. Правильно ли написал регулярные выражения? ( если нет, то как правильно для таких диапазонов написать регулярные выражения ) ?
kaww
Можно гораздо проще:
$ip = ip2long('77.88.0.3');
var_dump(ip2long('77.88.0.0') <= $ip && ip2long('77.88.0.18') >= $ip);
Эли4ка
Цитата (El Diablo @ 1.04.2019 - 04:42)
2. Правильно ли написал регулярные выражения? ( если нет, то как правильно для таких диапазонов написать регулярные выражения ) ?

Про экранирование знакомо?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.