【问题标题】:Search CSS in folder using PHP and change css values使用 PHP 在文件夹中搜索 CSS 并更改 CSS 值
【发布时间】:2016-10-01 00:43:28
【问题描述】:

我是 php 新手,需要一些帮助。

我有一个文本框,用户可以输入 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;
	width:60px;
    cursor:pointer;
    -moz-border-radius:3px;
    border-radius:3px;
    text-transform:uppercase;
} 

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

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

div.notinstalled {
		color:#f20723;
}

div.installed {
		color:#2cb517;
}

#content a:link, #content a:visited {
    color:#379BB9;
    font-weight:bold;
	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>

【问题讨论】:

  • 所以您还没有尝试任何东西并正在寻找现成的代码???? :D
  • 这里让我给你一个提示,你怎么能做到这一点..!您需要获取所有 css 文件并逐行读取每个 CSS 文件以查找匹配的代码,如果命中则将新的颜色代码写入该 CSS 文件,然后您可以自己查看..!跨度>
  • 正如我上面所说的,我一直在尝试自己解决这个问题。我有一些点点滴滴的 php 代码,但它一团糟。任何事情都会有所帮助。甚至链接到代码 sn-ps,也许我可以自己解决。

标签: php html css


【解决方案1】:

这里是代码:-

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);
}
}

【讨论】:

  • 嗨,Pradyut,感谢您帮助我。该代码有效,但它改变了所有颜色代码。我该怎么做才能只更改所有文件中的颜色代码#379BB9?再次感谢您的帮助。
  • 只需替换 $str=preg_replace('/#([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0- 9]){3})?\b/',$colorcode, $str); with $str=str_replace("#379BB9", $colorcode,$str);
  • 我也会确保你清理输入,所以有人不能输入#000000; font-size:99pt; color: red
  • 完美,非常感谢您的帮助!
  • 我结束了使用这个... $oem='/#'。 "379BB9" .'?\b/'; $str=preg_replace($oem, $colorcode, $str);
猜你喜欢
  • 1970-01-01
  • 2017-02-25
  • 2014-05-02
  • 1970-01-01
  • 2013-01-14
  • 2012-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多