HttpUtils.php 1016 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace WebserviceBundle\Utils;
  3. class HttpUtils
  4. {
  5. /**
  6. * @param string $url
  7. *
  8. * @return string
  9. */
  10. public static function cleanUrl($url)
  11. {
  12. $parsed_url = parse_url($url);
  13. $scheme = isset($parsed_url['scheme']) ? $parsed_url['scheme'] . '://' : '';
  14. $host = isset($parsed_url['host']) ? $parsed_url['host'] : '';
  15. $port = isset($parsed_url['port']) ? ':' . $parsed_url['port'] : '';
  16. $user = isset($parsed_url['user']) ? $parsed_url['user'] : '';
  17. $pass = isset($parsed_url['pass']) ? ':' . $parsed_url['pass'] : '';
  18. $pass = ($user || $pass) ? "$pass@" : '';
  19. $path = isset($parsed_url['path']) ? '/' . implode('/', array_filter(explode('/', $parsed_url['path']))) : '';
  20. $query = isset($parsed_url['query']) ? '?' . $parsed_url['query'] : '';
  21. $fragment = isset($parsed_url['fragment']) ? '#' . $parsed_url['fragment'] : '';
  22. return "$scheme$user$pass$host$port$path$query$fragment";
  23. }
  24. }