2011-11-13 59 views
1

我有一個腳本,更新一個CSS文件,基於一些HTML表單的用戶輸入。php str_replace使用自定義{標籤}的一個CSS文件

腳本執行str_replace並在CSS文件中搜索「標籤」。

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文件不破。唯一的問題是我將如何替換/刪除十六進制?

回答

0

隨着preg_replace()

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

2

假設你已經拿到劇本的到位,其各自的價值代替了標籤,爲什麼不去做這樣的事情:

1:創建一個style.php文件,該文件加載style.css

2: style.php使用您已經創建功能與您的默認值

3更換標籤:style.php套頭爲header('Content-type: text/css');

4:style.php迴應已修改的字符串

然後,請不要在整個腳本中調用style.css,而應該調用style.php

+0

+ 1,#3可能是最好的 – Zirak