我正在尝试用 PHP 替换一些 CSS 样式。
我想.myclass
在所有的前面#
和.
后面添加,但不是那些以';',
开头的行 background
在末尾。
到目前为止,我的正则表达式不起作用。任何帮助,将不胜感激。
这是我的PHP:
$patterns = '/^[^background][,]\s*((#|[.])[^;]+)/m';
$replacements = ', .myclass \1';
$str= preg_replace($patterns,$replacements, $string, -1);
这是原始的CSS:
#class1, #id1, #id2{
margin:0 0 1.5em 0;
font-size:2.2em;
font-family:Century Schoolbook Bold;
}
.class2{
background:#fff, #111, #ccc;
font:1.1em;
font-family:Century Schoolbook;
}
这是所需的 CSS:
#class1, .myclass #id1, .myclass #id2{
margin:0 0 1.5em 0;
font-size:2.2em;
font-family:Century Schoolbook Bold;
}
.class2{
background:#fff, #111, #ccc;
font:1.1em;
font-family:Century Schoolbook;
}