• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/web/uri.php
  • Класс: BitrixMainWebUri
  • Вызов: Uri::urnEncode
static function urnEncode($str, $charset = 'UTF-8')
{
	$result = '';
	$arParts = preg_split("#(://|:\d+/|/|\?|=|&)#", $str, -1, PREG_SPLIT_DELIM_CAPTURE);

	if ($charset === false)
	{
		foreach ($arParts as $i => $part)
		{
			$result .= ($i % 2) ? $part : rawurlencode($part);
		}
	}
	else
	{
		$currentCharset = MainContext::getCurrent()->getCulture()->getCharset();
		foreach ($arParts as $i => $part)
		{
			$result .= ($i % 2)	? $part	: rawurlencode(Encoding::convertEncoding($part, $currentCharset, $charset));
		}
	}
	return $result;
}