这就是我遇到的问题:我正在为网站管理员制作CSS编辑器,但仅适用于某些样式。我需要的是一种在CSS文件中找到单词或短语的方法(样式的标题),然后更改其内容。所以,换句话说,如果我有这个代码:
.test_style {
font-size:12px;
color:#ffffff;
}
并且管理员选择样式
test_style
并写道:
font-size:16px;
color:#000000;
font-weight:bold;
margin-top:5px;
PHP脚本应找到相应的样式,并将内容更改为:
.test_style {
font-size:16px;
color:#000000;
font-weight:bold;
margin-top:5px;
}
有没有人有任何想法我怎么能这样做?
编辑:我的想法是让管理员从下拉菜单中选择一个选择器,在textarea中编写代码,然后将他们编写的代码保存到CSS文件中的特定样式中。
答案 0 :(得分:2)
如果你真的相信他们实际编写CSS,为什么不把他们可以编辑的样式拉到另一个文件中,然后将其导入到邮件CSS文件中。这样他们就不会看到所有令人困惑的部分,而且每次进行更改时都不必担心处理文件。
答案 1 :(得分:2)
您可以在此网站上使用相同的想法:http://www.barelyfitz.com/projects/csscolor/
我复制了以下链接:Using PHP as a CSS file?
您所要做的就是使用db在文本字段中存储实际的css内容
答案 2 :(得分:1)
@Hawili有一个很好的答案,但你也可以在其他地方存储个别规则(平面文件,couchDB商店等)。这里的问题是界面:你想让他们能够添加自己的选择器吗?您是否希望他们从已存在的选择器列表中进行选择?如果他们正在选择,为什么不让他们也从常用声明列表中选择,或者参数化地修改它们?
您应该问的真正问题不仅仅是如何实施此解决方案,而是您应该分析问题并查看此解决方案是否正确。如果确实如此,您还可以使用regEx匹配来查找选择器后面的任何代码,并使用用户的输入进行修改。但我建议您以其他方式存储离散数据点,以便更容易修改,然后将该输出保存到您的css文件中。
答案 3 :(得分:0)
尝试做这样的事情:
<form method="POST" action="admin/settings/css-example">
<textarea id="css-example" name="css-example" rows="10">
<?php $template_file = "../css-example.css";
$file_handle = fopen($template_file, "rb");
echo fread($file_handle, filesize($template_file));
fclose($file_handle);
?>
</textarea>
<div class="form-actions">
<input type="hidden" name="section" value="css-example">
<input type="submit" name="updatesettings" value="Update">
</div>
</form>