Пример #1
0
 /**
  * @param string $data
  * @return Network
  */
 public static function parse($data)
 {
     if (strpos($data, '/')) {
         list($ip, $prefixLength) = explode('/', $data, 2);
         $ip = IP::parse($ip);
         $netmask = self::prefix2netmask($prefixLength, $ip->getVersion());
     } elseif (strpos($data, ' ')) {
         list($ip, $netmask) = explode(' ', $data, 2);
         $ip = IP::parse($ip);
         $netmask = IP::parse($netmask);
     } else {
         $ip = IP::parse($data);
         $netmask = self::prefix2netmask($ip->getMaxPrefixLength(), $ip->getVersion());
     }
     return new self($ip, $netmask);
 }
Пример #2
0
 /**
  * @param string $data
  * @return Range
  */
 public static function parse($data)
 {
     if (strpos($data, '/') || strpos($data, ' ')) {
         $network = Network::parse($data);
         $firstIP = $network->getFirstIP();
         $lastIP = $network->getLastIP();
     } elseif (strpos($data, '*')) {
         $firstIP = IP::parse(str_replace('*', '0', $data));
         $lastIP = IP::parse(str_replace('*', '255', $data));
     } elseif (strpos($data, '-')) {
         list($first, $last) = explode('-', $data, 2);
         $firstIP = IP::parse($first);
         $lastIP = IP::parse($last);
     } else {
         $firstIP = IP::parse($data);
         $lastIP = clone $firstIP;
     }
     return new self($firstIP, $lastIP);
 }