Short question:我有一个包含CSS的$ css变量,我想在该变量中找到给定的样式(在我的情况下是“body”),并用自定义样式替换它。如何使用PHP替换CSS样式?
基本输入输出:
/* blablabla */
body {
background-color:#d0e4fe;
font-family: 'Afamily', sanas-serif;
}
span {
padding: 5px
}
h1 {
color:orange;
text-align:center;
}
body {
margin: 10px;
padding: 5px;
}
p {
font-family:"Times New Roman";
font-size:20px;
}
我们称之为magicFunction():
echo magicFunction($css, 'font-color: pink; font-weight: bold;');
而我们得到:
/* blablabla */
body {
font-color: pink; font-weight: bold;
}
span {
padding: 5px
}
h1 {
color:orange;
text-align:center;
}
p {
font-family:"Times New Roman";
font-size:20px;
}
有什么不对?基本上我stucked这里
$bodyPattern = '/body\s\{[.|\s]*/m';
$found = preg_match_all($bodyPattern, $css, $matches);
它发现只有输出这样的东西:
"body {
'"
行回来后什么都没有。
当然,一旦我有正确的正则表达式模式,我会使用preg_replace。
我为什么要那么做:我想用我的网站CSS建立一个通讯应用CssToInlineStyle,我想只改变车身造型,以避免一些样式被应用(如背景色) 。编辑:提及这一点是为了让你知道“为什么”,随时发表评论并给出你的观点,但请仅考虑上述问题,作为你应该回答的问题。
你第一次怀疑,如果电子邮件客户端接受CSS这样呢? –
是他们这样做,至少GMail的接受它,如果渲染是不是对别人好,这不是什么大不了的 – AsTeR
我真的很感激所有不明原因的下降票! – AsTeR