2012-08-23 71 views
4

我正在開發一個需要擴展IPv6地址的項目。其他用戶創建的功能並不多,存在的功能也很難看。其中一些包括多個foreachgmp_init,這增加了很多開銷並且難以維護代碼。我需要一個簡單的免稅腳本來擴展IPv6。用PHP擴展IPv6地址的快速方法

發佈此爲社區。

回答

15

以下是兩行代碼,其中$ip是一個精簡的IPv6地址。退貨已展開$ip

$ip = "fe80:01::af0"; 
echo expand($ip); // fe80:0001:0000:0000:0000:0000:0000:0af0 

功能

function expand($ip){ 
    $hex = unpack("H*hex", inet_pton($ip));   
    $ip = substr(preg_replace("/([A-f0-9]{4})/", "$1:", $hex['hex']), 0, -1); 

    return $ip; 
} 
+1

你可以添加的'$ ip'一個例子,比如'回聲擴大($ IP);'? – j0k

+0

@ j0k增加了一個例子 –

+0

太棒了!以下示例非常有趣:) – j0k