我有这个PHP函数(在另一个页面上找到的)将CSS数据转换为数组,它对大多数CSS都很有效,但当CSS有@media only screen and (max-width: 1800px)
的例子时,CSS就显示不好了。
这是我正在使用的PHP函数:
function cssArray( $HTML_DATA_CSS ) {
preg_match_all( '/(?ims)([a-z0-9\s\,\.\:#_\-@]+)\{([^\}]*)\}/', $HTML_DATA_CSS, $HTML_DATA_CSS_ARR);
$HTML_DATA_CSS_OUTPUT = array();
foreach ($HTML_DATA_CSS_ARR[0] as $i => $x) {
$selector = trim($HTML_DATA_CSS_ARR[1][$i]);
$rules = explode(';', trim($HTML_DATA_CSS_ARR[2][$i]));
$HTML_DATA_CSS_OUTPUT[$selector] = array();
foreach ($rules as $strRule) {
if (!empty($strRule)) {
$rule = explode(":", $strRule);
$HTML_DATA_CSS_OUTPUT[$selector][][trim($rule[0])] = trim($rule[1]);
}
}
}
return $HTML_DATA_CSS_OUTPUT;
}
我怎样才能使这个函数也能在@media screen
上工作?
1条答案
按热度按时间vs91vp4v1#
https://github.com/Ariodevelop/C3S2Array
它多半管用!