在下面的代碼中,我試圖找出如何確定文本文件中一行的值。我不斷收到下面的錯誤。我嘗試了很多組合來修復,但沒有運氣。我是新來的PHP,所以我感謝任何幫助。從文本文件中調用值並添加到php var
一旦我解決了錯誤,我正在尋找它從文本文件「defaultcolor」值中取出顏色代碼,並將其更改爲等於文本框值的新顏色。
我試圖讓var $ currentcolor報告文本文件中的值。這值爲#123456
這裏的錯誤
Warning: preg_replace(): No ending delimiter '#' found
下面是我的文本文件中的行。
currentcolor = #123456
defaultcolor = #379BB9
這裏是我的PHP
<?php
if(isset($_REQUEST['setcolor'])){
$arr = glob("css\*.css");
$colorcode = $_POST['defaultcolor'];
foreach($arr as $key=>$val){
$str = file_get_contents($val);
$lines_array = file("example.txt");
$search_string = "currentcolor";
foreach($lines_array as $line) {
if(strpos($line, $search_string) !== false) {
list(, $new_str) = explode("=", $line);
}
}
$currentcolor = $new_str;
$str = preg_replace($currentcolor, $colorcode, $str);
file_put_contents($val, $str);
}
}
echo '<label id="steps">Here you can set the theme color.</label>';
echo '<br>';
echo '<Form name="default1" method="POST" action="example.php">';
echo '<label for="defaultcolor">Theme Color: </label><input style="color:#000000" type="text" id="defaultcolor" name="defaultcolor" value="#379BB9">';
echo '<br>';
echo '<input type="submit" name="setcolor" value="Set Theme Color">';
echo '</form>';
echo '<br>';
?>
乍一看......我不認爲你需要'preg_replace',我敢打賭'str_replace'已經足夠了,並且可以解決你的正則表達式分隔符錯誤 – jszobody
我把它改成了str_replace,沒有任何錯誤,但是現在當我點擊在「設置主題顏色」按鈕上,它不會替換css文件中的值,我正在查找它以將css中的一個值更改爲另一個值。 – James30263
嘗試在str替換函數之前回顯值以對其進行調試。我不在家所以不能測試它。 – Clay