• Модуль: search
  • Путь к файлу: ~/bitrix/modules/search/classes/general/sitemap.php
  • Класс: CAllSiteMap
  • Вызов: CAllSiteMap::URLEncode
function URLEncode($str, $charset)
{
	global $APPLICATION;
	$strEncodedURL = '';
	$arUrlComponents = preg_split("#(://|/|\?|=|&)#", $str, -1, PREG_SPLIT_DELIM_CAPTURE);
	foreach ($arUrlComponents as $i => $part_of_url)
	{
		if ($i % 2)
		{
			$strEncodedURL .= $part_of_url;
		}
		else
		{
			if ($i > 1 && $arUrlComponents[$i - 1] === "://")
			{
				$converter = CBXPunycode::GetConverter();
				$strEncodedURL .= $converter->Encode($part_of_url);
			}
			else
			{
				$strEncodedURL .= urlencode($APPLICATION->ConvertCharset(urldecode($part_of_url), LANG_CHARSET, $charset));
			}
		}
	}
	return $strEncodedURL;
}