• Модуль: clouds
  • Путь к файлу: ~/bitrix/modules/clouds/classes/general/util.php
  • Класс: CCloudUtil
  • Вызов: CCloudUtil::URLEncode
static function URLEncode($str, $charset, $file_name = false)
{
	global $APPLICATION;
	$strEncodedURL = '';

	if ($file_name)
	{
		$arUrlComponents = preg_split("#(://|/)#", $str, -1, PREG_SPLIT_DELIM_CAPTURE);
	}
	else
	{
		$arUrlComponents = preg_split("#(://|/|\?|=|&)#", $str, -1, PREG_SPLIT_DELIM_CAPTURE);
	}

	foreach($arUrlComponents as $i => $part_of_url)
	{
		if((intval($i) % 2) == 1)
		{
			$strEncodedURL .= (string)$part_of_url;
		}
		elseif (defined('BX_CLOUD_OLD_URL_ENCODE') && constant('BX_CLOUD_OLD_URL_ENCODE') === true)
		{
			$strEncodedURL .= rawurlencode($APPLICATION->ConvertCharset(rawurldecode((string)$part_of_url), LANG_CHARSET, $charset));
		}
		else
		{
			$strEncodedURL .= rawurlencode($APPLICATION->ConvertCharset((string)$part_of_url, LANG_CHARSET, $charset));
		}
	}

	return $strEncodedURL;
}