我需要使用php从ip地址修剪最后一个八位字节.基本上我试图删除第三个点后的任何数字.我想知道是否有开箱即用的解决方案?因为我的正则表达能力是最基本的.非常感谢.
Emi*_*l H 21
$trimmed = implode(".", array_slice(explode(".", $ip), 0, 3));
Run Code Online (Sandbox Code Playgroud)
要么
$trimmed = substr($ip, 0, strrpos($ip, "."));
Run Code Online (Sandbox Code Playgroud)
或者可能
$trimmed = preg_replace("/(\d{1,3})\.(\d{1,3}).(\d{1,3}).(\d{1,3})/", '$1.$2.$3', $ip);
Run Code Online (Sandbox Code Playgroud)
一种更加数学的方法,不会删除最后一位数字,而是将其替换为0:
$newIp = long2ip(ip2long("192.168.0.10") & 0xFFFFFF00);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6837 次 |
| 最近记录: |