Я работал над проектом, где мне нужно было расширить адреса IPv6.  Есть не так много функций, созданных другими пользователями, а те, которые существуют, уродливы.  Некоторые из них включали несколько foreach и gmp_init , которые добавили много накладных расходов и сложнее поддерживать код.  Мне нужен простой, не облагающийся налогом скрипт для расширения IPv6. 
Публикация этого для сообщества.
  Ниже приведена два слоя, где $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; }