Welcome to Yggdrasil forum! It is maintained and administrated by Revertron, you can ask me questions in Telegram, Matrix and Fediverse.
This forum is created to provide a platform where your questions and their answers will not get lost like in all messengers, but to be available for all users for years.
Quote from: d4708 on April 01, 2023, 08:27:35 PMМожет кто подскажет, как лучше проводить валидацию по сетевым адресам 0200::/7 на PHP или просто в регулярке.Если нужно только на эту маску, то можно попробовать так: прогоняем адрес через inet_pton, проверяем, что длина получившейся строки равна 16 (чтобы убедиться, что это не IPv4), затем с помощью ord берём первый байт, обнуляем в нём младший бит (операция AND с маской 0xFE) и проверяем на то, что этот байт равен двойке.
function is_ygg_ip($ip) {
$pton = inet_pton($ip);
if (strlen($pton)!==16) return false;
if ((ord($pton[0]) & 0xfe)===0x02) return true;
return false;
}