- Модуль: 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;
}