我需要從一個IP地址使用PHP修剪最後一個八位字節。基本上我試圖在第三個點後刪除任何數字。我想知道是否有一個開箱即用的解決方案?因爲我的正則表達式能力基本上是最基本的。非常感謝。修剪IP地址八位組
7
A
回答
17
$trimmed = implode(".", array_slice(explode(".", $ip), 0, 3));
或
$trimmed = substr($ip, 0, strrpos($ip, "."));
或可能
$trimmed = preg_replace("/(\d{1,3})\.(\d{1,3}).(\d{1,3}).(\d{1,3})/", '$1.$2.$3', $ip);
更數學的方式,不能刪除最後一個數字,而是用0來替換它:
$newIp = long2ip(ip2long("192.168.0.10") & 0xFFFFFF00);
0
Regexp vatiant
$ip = '192.168.20.10';
preg_replace_callback(
'/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/'
, create_function('$matches', '$matches[4] = "0"; array_shift($matches); return implode(".", $matches);')
, $ip
);
你也可以使用ip2long和long2ip ......但沒有關於「一體化解決方案」與它的想法:
$ip = ip2long('192.168.20.10') - 10;
echo long2ip($ip);
2
這將刪除最後一個數字和點。
$trimmed = preg_replace('/\.\d{1,3}$/', '', $ip);
相關問題
- 1. 的Python:執行IP地址八位位組之間的數學函數
- 2. 我需要爲每個八位字節填充零地址的IP地址
- 3. 以八度爲單位導入ip地址
- 4. 更新IP地址子網內的特定八位字節
- 5. 從IP地址提取前三個八位字節
- 6. IP地址位置
- 7. 發現IP八位組,然後將其設爲href網址?
- 8. 大地定位IP地址
- 9. C#修剪字符串,IP地址和端口
- 10. 將IP地址分成八位字節,但用sscanf跳過第一個八位字節
- 11. 將IP地址分割成八位字節,然後對每個八位字節做一些數學計算
- 12. 選擇組播IP地址
- 13. 從IP地址獲取地理位置
- 14. MapBox大地定位的IP地址
- 15. 正則表達式匹配IP地址的前三個八位字節
- 16. Perl的 - 決定是否基於IP地址的第三個八位
- 17. 使用egrep從shell變量中按八位字節搜索IP地址
- 18. Powershell:按IP地址的第二個八位字節過濾服務器列表
- 19. 根據前兩個八位字節查找不同的IP地址?
- 20. 修改ip地址襪子捕獲pcap
- 21. 修改IP和MAC-地址的網絡
- 22. Docker - 修復服務IP地址
- 23. Python將IP轉換爲八進制地址
- 24. MAC地址和IP地址
- 25. 變換IP地址,IP地址範圍(起始IP - 結束IP)
- 26. 本地IP地址?
- 27. 如何比較包含在兩個PhP變量中的兩個ip地址的前三個八位組
- 28. IP地址在室內的位置
- 29. 如何從IP地址找到位置?
- 30. IP地址的位置檢測技術
我還能要求什麼?祝你有美好的一天! :) – 2009-05-26 09:39:51