• Модуль: xmpp
  • Путь к файлу: ~/bitrix/modules/xmpp/classes/parser.php
  • Класс: CXMPPParser
  • Вызов: CXMPPParser::GetAttr
function GetAttr($tag)
{
	if (($pos = mb_strpos($tag, ' '))===false)
		return array();

	$tag = mb_substr($tag, $pos, -1);
	$l = mb_strlen($tag);

	$arAttr = array();
	$bParam = true;
	$param = "";

	for ($i=0;$i<$l;$i++)
	{
		$chr = $tag[$i];
		if ($bParam)
		{
			if ($chr == '=')
			{
				$bParam = false;
				continue;
			}
			else
				$param .= $chr;
		}
		else
		{
			if ($chr == '"' || $chr = "'")
			{
				$open = $chr;
				$pos = mb_strpos($tag, $open, $i + 1);
				if ($pos === false)
					return;

				$val = mb_substr($tag, $i + 1, $pos - $i - 1);
				$arAttr[trim($param)] = $val;
				$i = $pos;
				$param = '';
				$val = '';
				$bParam = true;
			}
		}
	}

	return $arAttr;
}