Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
home/lmsyaran/public_html/libraries/vendor/joomla/uri/src/UriHelper.php000064400000002755151156427070022375
0ustar00<?php
/**
* Part of the Joomla Framework Uri Package
*
* @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\Uri;
/**
* Uri Helper
*
* This class provides a UTF-8 safe version of parse_url().
*
* @since 1.0
*/
class UriHelper
{
/**
* Does a UTF-8 safe version of PHP parse_url function
*
* @param string $url URL to parse
*
* @return mixed Associative array or false if badly formed URL.
*
* @link https://secure.php.net/manual/en/function.parse-url.php
* @since 1.0
*/
public static function parse_url($url)
{
$result = false;
// Build arrays of values we need to decode before parsing
$entities = array('%21', '%2A', '%27',
'%28', '%29', '%3B', '%3A',
'%40', '%26', '%3D', '%24',
'%2C', '%2F', '%3F', '%23',
'%5B', '%5D');
$replacements = array('!', '*', "'",
"(", ")", ";", ":", "@",
"&", "=", "$", ",",
"/", "?", "#", "[", "]");
// Create encoded URL with special URL characters decoded so it can be
parsed
// All other characters will be encoded
$encodedURL = str_replace($entities, $replacements, urlencode($url));
// Parse the encoded URL
$encodedParts = parse_url($encodedURL);
// Now, decode each value of the resulting array
if ($encodedParts)
{
foreach ($encodedParts as $key => $value)
{
$result[$key] = urldecode(str_replace($replacements, $entities,
$value));
}
}
return $result;
}
}