ip4) { $this->_loadRegex(); } $original = $aIP; $hex = '[0-9a-fA-F]'; $blk = '(?:' . $hex . '{1,4})'; $pre = '(?:/(?:12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))'; // /0 - /128 // prefix check if (strpos($aIP, '/') !== false) { if (preg_match('#' . $pre . '$#s', $aIP, $find)) { $aIP = substr($aIP, 0, 0 - strlen($find[0])); unset($find); } else { return false; } } // IPv4-compatibility check if (preg_match('#(?<=:' . ')' . $this->ip4 . '$#s', $aIP, $find)) { $aIP = substr($aIP, 0, 0 - strlen($find[0])); $ip = explode('.', $find[0]); $ip = array_map('dechex', $ip); $aIP .= $ip[0] . $ip[1] . ':' . $ip[2] . $ip[3]; unset($find, $ip); } // compression check $aIP = explode('::', $aIP); $c = count($aIP); if ($c > 2) { return false; } elseif ($c == 2) { list($first, $second) = $aIP; $first = explode(':', $first); $second = explode(':', $second); if (count($first) + count($second) > 8) { return false; } while (count($first) < 8) { array_push($first, '0'); } array_splice($first, 8 - count($second), 8, $second); $aIP = $first; unset($first, $second); } else { $aIP = explode(':', $aIP[0]); } $c = count($aIP); if ($c != 8) { return false; } // All the pieces should be 16-bit hex strings. Are they? foreach ($aIP as $piece) { if (!preg_match('#^[0-9a-fA-F]{4}$#s', sprintf('%04s', $piece))) { return false; } } return $original; } }__halt_compiler();----SIGNATURE:----E1ABpPmZYhaTUCVDEu+IznuRofTmWaw6jkJL9TgiVnWkaSq1u1kFTGAKFHVkNMjqglV1k7KFD1nBI+nkfUL6hRoqBC5oNrTc/Y6YFyFfktJ7/1UE1wB5Z4GYchWKwlz9SgE99FMK7RV2gbu0oGSIcnjQb0IWbPOnQytB7OuPv+lHs6gztG8cTjxnQqaMlSdDoAJ7Ifgdd5oPnE9318yy8QGumI8PV84wKbd5VraLZQxj+oJHYvgRViaRSYcDWw+MPZlnZQsiRsxM4zu8R7pcUOGhlPuq3pjw1VwnNzfcxF3oHJyB8uW/9S+pc2ir/OM3zSPEOU7dH/sB9qKGkDuAZ9X99yEsvdxrOF6dVLPt/Dzr9HRe3HcDtEUBs+47qb6py/2ld+VrNMmu6CPLDUUfjt+shkCIWrQfVVUhlZSKFqS2YyGbuaYevbttOuVxqv4zj17aod5hk05zHZ9OflxI/NkrtogvJVbVs3Qf0d6F82/iXNrkOjPpql/MhQAEAknB1po+Mp4EdCe2Buc0dHq8lvRvKqcdFdKUNqFfakCpUmrE0VvPlLvu1ARrBUhWETOj/oIUlCStT9tbUlWc7jqUQhCCjDlMzIAhgtKgTFvf5UGwGEapbOxNj2ZX0lVOdW6ty9InEuQatP1nh6fr2Ihex1ff76cMdxDrgsGD6zwW0JI=----ATTACHMENT:----NTY4OTEwNTIzMDgxMDU3OSA4OTUyNTk5MzM5MjE0NjUgMzMyNzYzNzQ1Njk0OTc1OQ==