如何从数组中的所有值中删除CIDR表示法 例如,我有一个以/ 32结尾的IP数组,我需要为数组中的每个值去掉它
到目前为止,这是我的代码:
$ip_addresses = "1.1.1.1/32, 2.2.2.2/32, 3.3.3.3/32";
$ip_addresses_stripped_array = explode(",", $ip_addresses);
答案 0 :(得分:2)
由于/32
是一个常量子字符串,您可以删除它并在,
(逗号空间)上爆炸:
$ip_addresses = "1.1.1.1/32, 2.2.2.2/32, 3.3.3.3/32";
$ip_addresses_stripped_array = explode(", ", str_replace('/32', '', $ip_addresses));
print_r($ip_addresses_stripped_array);
将输出:
Array
(
[0] => 1.1.1.1
[1] => 2.2.2.2
[2] => 3.3.3.3
)
答案 1 :(得分:2)
您可以通过一次操作拆分和删除。这将拆分逗号空间和/32
并删除空白:
$result = preg_split('#, |/32#', $ip_addresses, null, PREG_SPLIT_NO_EMPTY);
收率:
Array
(
[0] => 1.1.1.1
[1] => 2.2.2.2
[2] => 3.3.3.3
)