我正在尝试用自定义类替换所有正文和 html 选择器。(稍后 html 内容将显示在自定义容器中,可用的 css 不应影响主站点。)
这是我尝试过的:
$data = "html body { color: red; }\nbody html { color: red; }\nhtml, body { color: red; }\nbody, html, .body table, #html-TemplateContainer {\nbackground-color:#eee;\n}";
echo "<pre>".preg_replace('/(^|[,}\s]+)(body html|html body|html|body)([,.{\s]*)/is', '$1'.'.foo'.'$3', $data)."</pre>";
哪个打印:
.foo { color: red; }
.foo { color: red; }
.foo, body { color: red; }
.foo, html, .body table, #html-TemplateContainer {
background-color:#eee;
}
我不明白为什么在第 3 行和第 4 行中没有替换正文和 html(scnd 选择器),据我了解,它应该与正则表达式匹配?!