- Модуль: 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;
}