original_string: protected function translateToUrlEncodedPath($generatedPathAsUtf8)
      {
          $iso88591Path = explode('/', $generatedPathAsUtf8);
  
          foreach ($iso88591Path as &$part) {
              // identify and skip schemes
              if (substr($part, -1) == ':') {
                  continue;
              }
  
              // only encode and transliterate that which comes before the anchor
              $subparts = explode('#', $part);
              
              if (extension_loaded('iconv')) {
                  $subparts[0] = iconv('UTF-8', 'ASCII//TRANSLIT', $subparts[0]);
              }
              $subparts[0] = urlencode($subparts[0]);
              
              $part = implode('#', $subparts);
          }
  
          return implode('/', $iso88591Path);
      }
code: protected function translateToUrlEncodedPath($generatedPathAsUtf8)
      {
          $iso88591Path = explode('/', $generatedPathAsUtf8);
  
          foreach ($iso88591Path as &$part) {
              // identify and skip schemes
              if (substr($part, -1) == ':') {
                  continue;
              }
  
              // only encode and transliterate that which comes before the anchor
              $subparts = explode('#', $part);
              
              if (extension_loaded('iconv')) {
                  $subparts[0] = iconv('UTF-8', 'ASCII//TRANSLIT', $subparts[0]);
              }
              $subparts[0] = urlencode($subparts[0]);
              
              $part = implode('#', $subparts);
          }
  
          return implode('/', $iso88591Path);
      }
code_tokens: protected function translateToUrlEncodedPath ( $ generatedPathAsUtf8 ) { $ iso88591Path = explode ( '/' , $ generatedPathAsUtf8 ) ; foreach ( $ iso88591Path as & $ part ) { // identify and skip schemes if ( substr ( $ part , - 1 ) == ':' ) { continue ; } // only encode and transliterate that which comes before the anchor $ subparts = explode ( '#' , $ part ) ; if ( extension_loaded ( 'iconv' ) ) { $ subparts [ 0 ] = iconv ( 'UTF-8' , 'ASCII//TRANSLIT' , $ subparts [ 0 ] ) ; } $ subparts [ 0 ] = urlencode ( $ subparts [ 0 ] ) ; $ part = implode ( '#' , $ subparts ) ; } return implode ( '/' , $ iso88591Path ) ; }
docstring: Translates the provided path, with UTF-8 characters, into a web- and windows-safe variant.
  
  Windows does not support the use of UTF-8 characters on their file-system. In order to be sure that both
  the web and windows can support the given filename we decode the UTF-8 characters and then url encode them
  so that they will be plain characters that are suitable for the web.
  
  If an anchor is found in the path, then it is neither url_encoded not transliterated because it should not
  result in a filename (otherwise another part of the application has made an error) but may be used during
  rendering of templates.
  
  @param string $generatedPathAsUtf8
  
  @return string
docstring_tokens: Translates the provided path with UTF - 8 characters into a web - and windows - safe variant .