original_string: public function decode($input)
      {
          $parts = explode('.', $input);
  
          foreach ($parts as &$part) {
              if (strpos($part, static::PREFIX) === 0) {
                  $part = $this->_decodePart(
                      substr($part, strlen(static::PREFIX))
                  );
              }
          }
  
          return implode('.', $parts);
      }
code: public function decode($input)
      {
          $parts = explode('.', $input);
  
          foreach ($parts as &$part) {
              if (strpos($part, static::PREFIX) === 0) {
                  $part = $this->_decodePart(
                      substr($part, strlen(static::PREFIX))
                  );
              }
          }
  
          return implode('.', $parts);
      }
code_tokens: public function decode ( $ input ) { $ parts = explode ( '.' , $ input ) ; foreach ( $ parts as & $ part ) { if ( strpos ( $ part , static :: PREFIX ) === 0 ) { $ part = $ this -> _decodePart ( substr ( $ part , strlen ( static :: PREFIX ) ) ) ; } } return implode ( '.' , $ parts ) ; }
docstring: Decode a Punycode domain name to its Unicode counterpart.
  
  @param string $input  Domain name in Punycode
  
  @return string  Unicode domain name.
docstring_tokens: Decode a Punycode domain name to its Unicode counterpart .