gpt4 book ai didi

php - 检查字符串是否为 ip 子网

转载 作者:行者123 更新时间:2023-12-05 04:17:39 26 4
gpt4 key购买 nike

我有 ip 地址列表作为字符串,但该列表中也有一些子网。例如:

...127.0.0.1(这是ip)127.0.0.1/24(这是子网)...

我想检查哪个是ip,哪个是子网。到目前为止我可以过滤 ip 但我找不到检查子网的方法:

foreach ($ipstrings as $ip) {
if(filter_var($ip, FILTER_VALIDATE_IP) !== false){
$ips[] = $ip;
}
elseif (is_subnet) {
$subnets[] = $ip;
}
}

如何使 is_subnet 工作?

最佳答案

<?php

// array of ip and subnets
$ipandmask = array('127.0.0.1','127.0.0.0','127.0.0.2','127.0.0.3/24','127.0.0.4/16');

foreach ($ipandmask as $ipmask) {

if(preg_match('~^(?:[0-9]{1,3}\.){3}[0-9]{1,3}/[0-9][0-9]~',$ipmask,$subnet)){
echo "</br>";
echo "Subnet =>";
print_r ($subnet);

}

if(preg_match('~^(?:[0-9]{1,3}\.){3}[0-9]{1,3}~',$ipmask,$ip)){
echo "</br>";
echo "Ip =>";
print_r ($ip);

}

}


?>

关于php - 检查字符串是否为 ip 子网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21423639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com