使用自定义{tags}的CSS文件中的php str_replace

时间:2011-11-13 14:08:43

标签: php html css str-replace

我有一个脚本可以根据html表单中的一些用户输入更新CSS文件。

该脚本执行str_replace并在CSS文件中搜索“tags”。例如 -

html,body {
    background: {bgcolor} url(../images/bg.jpg) repeat-x;
    color: {textcolor};
}

这很好但很明显打破了CSS文件。最初它并不重要,但由于我的项目中有一个新的特性,我需要使用那个CSS文件。

所以我想知道是否有更好的替代品呢?我想的可能是:

html,body {
    background: #fff /*{textcolor*/ url(../images/bg.jpg) repeat-x;
    color: #fff /*{textcolor*/;
}

所以我可以在标签中使用注释符号,这意味着我的CSS文件没有被破坏。唯一的问题是我如何更换/删除十六进制?

2 个答案:

答案 0 :(得分:2)

假设您已经准备好了使用各自值替换标记的脚本,为什么不这样做:

1:创建一个加载style.php

style.css文件

2:style.php使用您已创建的函数将标记替换为默认值

3:style.php将标头设置为header('Content-type: text/css');

4:style.php回显已修改的字符串

然后,不要在整个脚本中调用style.css,而是调用style.php

答案 1 :(得分:0)

使用preg_replace()

preg_replace("/\3[\w\d]{3,6}\s\/\*\{textcolor\}\*\//", $str_hex_code, $str_css_file)