• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/web/dom/cssparser.php
  • Класс: BitrixMainWebDOMCssParser
  • Вызов: CssParser::getDeclarationArray
static function getDeclarationArray($declarationBlock, $singleStyle = true)
{
	$styleList = array();
	$declarationBlock = trim($declarationBlock);
	if($declarationBlock)
	{
		// fix image urls in data:URL format with base64 encoding
		$declarationBlock = str_replace(';base64', '__base64', $declarationBlock);
		foreach(explode(";", $declarationBlock) as $declaration)
		{
			$declaration = str_replace('__base64', ';base64', $declaration);
			$declaration = trim($declaration);
			if(!$declaration)
			{
				continue;
			}

			// check declaration
			if (!preg_match('#^([-a-z0-9*]+):(.*)$#i', $declaration, $matches))
			{
				continue;
			}

			if(!isset($matches[0], $matches[1], $matches[2]))
			{
				continue;
			}

			$matches[1] = trim($matches[1]);

			if ($singleStyle)
			{
				$styleList[$matches[1]] = trim($matches[2]);
			}
			else
			{
				if (!isset($styleList[$matches[1]]))
				{
					$styleList[$matches[1]] = [];
				}
				$styleList[$matches[1]][] = trim($matches[2]);
			}
		}
	}

	return $styleList;
}