2016-10-01 86 views
0

我是新來的PHP,需要一些幫助。使用PHP搜索CSS文件夾並更改css值

我有一個文本框,用戶可以輸入html顏色代碼(例如:#373737)。一旦他們點擊提交按鈕,我想找到與#379BB9匹配的所有顏色代碼,並用它們在文本框中鍵入的新顏色代碼替換它們。我想在文件夾中的所有css文件上更改此條目。我正在尋找的是使這項工作的PHP代碼。我發現了一些代碼,但我可以讓它工作。我只把這裏的代碼放在與按鈕相關的地方。謝謝你提供的所有幫助。

這裏是原來的顏色代碼:#379BB9

p { 
 
    background-color:#373737; 
 
    border:1px solid #373737; 
 
    padding-top:5px; 
 
    padding-bottom:5px; 
 
    padding-left:10px; 
 
    padding-right:10px; 
 
    color:#379BB9; 
 
\t width:60px; 
 
    cursor:pointer; 
 
    -moz-border-radius:3px; 
 
    border-radius:3px; 
 
    text-transform:uppercase; 
 
} 
 

 
.message { 
 
\t background-color:#4f4f4f; 
 
\t border:1px solid #373737; 
 
\t width:98.5%; 
 
    text-align:center; 
 
\t margin-bottom:30px; 
 
    -moz-border-radius:3px; 
 
    border-radius:3px; 
 
    text-transform:none; 
 
    color:#379BB9; \t 
 
} 
 

 
.steps { 
 
    text-transform:none; 
 
\t color:#379BB9; 
 
} 
 

 
div.notinstalled { 
 
\t \t color:#f20723; 
 
} 
 

 
div.installed { 
 
\t \t color:#2cb517; 
 
} 
 

 
#content a:link, #content a:visited { 
 
    color:#379BB9; 
 
    font-weight:bold; 
 
\t text-decoration:none; 
 
}
<h2>My example.php</h2> 
 
<?php 
 
Need php here........ 
 
?> 
 
<label id="steps">Here you can set the theme color.</label> 
 
<br> 
 
<Form name="default1" method="POST" action="example.php"> 
 
<label for="defaultcolor">Theme Color: </label><input style="color:#ffffff" type="text" id="defaultcolor" name="defaultcolor" value="Add color code here"> 
 
<br> 
 
<input type="submit" name="setcolor" value="Set Theme Color"> 
 
</form>

+0

所以,你還沒有嘗試過任何東西,尋找現成的代碼? ??? :D –

+0

在這裏,讓我給你一個提示你如何能夠完全做到這一點..!你需要獲得所有的CSS文件,並逐行閱讀每個CSS文件,以查找匹配的代碼,如果你點擊了,然後將新的顏色代碼寫入該CSS文件,然後你可以看到自己..! –

+0

正如我上面所說,我一直在試圖讓我自己的工作。我有一些PHP代碼,但它一團糟。任何事情都會有幫助。甚至可以鏈接到代碼片段,也許我可以自己把它整理出來。 – James30263

回答

0

下面的代碼: -

if(isset($_REQUEST['setcolor'])){ 
$arr=glob("css\*.css"); //your css file's path 
$colorcode=$_POST['defaultcolor'];  
foreach($arr as $key=>$val){ 
$str=file_get_contents($val); 
//$str=preg_replace('/#([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?\b/',$colorcode, $str); //for replace all colour code 
$str=str_replace("#379BB9", $colorcode,$str); // for replace only desired colour code 
file_put_contents($val, $str); 
} 
} 
+0

嗨Pradyut,謝謝你幫助我。該代碼正在工作,但它改變了所有的顏色代碼。我能做什麼,它只會改變所有文件中的顏色代碼#379BB9?再次感謝你的幫助。 – James30263

+0

只需替換$ str = preg_replace('/#([af] | [AF] | [0-9]){3}(([af] | [AF] | [0-9]){3})) ?\ b /',$ colorcode,$ str);用$ str = str_replace(「#379BB9」,$ colorcode,$ str); –

+0

我也確保你清理輸入,所以有人不能輸入'#000000;字體大小:99pt;顏色:紅色' –