• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/web/dom/htmlparser.php
  • Класс: BitrixMainWebDOMHtmlParser
  • Вызов: HtmlParser::parse
public function parse($text = "", Node $node)
{
	if($this->storePhpCode)
	{
		$text = $this->storePHP($text);
	}
	else
	{
		$text = $this->commentPHP($text);
	}

	$isCharOpen = true;
	$buffer = '';

	$textLength = strlen($text);
	for($i = 0; $i < $textLength; $i++)
	{
		$char = substr($text, $i, 1);
		if($char === '<')
		{
			$node = $this->getNextNode($buffer, $node);
			$buffer = $char;
			$isCharOpen = true;
		}
		elseif($char === '>')
		{
			$buffer .= $char;
			if($isCharOpen)
			{
				$node = $this->getNextNode($buffer, $node);
				$buffer = '';
			}
			$isCharOpen = false;
		}
		else
		{
			$buffer .= $char;
		}

		if(!$node)
		{
			return null;
		}
	}

	if($buffer != '')
	{
		$node = $this->getNextNode($buffer, $node);
	}

	return $node;
}