我有一个遗留应用程序,我需要实现一个配置页面来更改文本颜色、字体等。
该应用程序的输出也可以通过 PHP Web 应用程序进行复制,其中字体、颜色等在样式表中进行配置。
我以前没有使用过 CSS。
是否有一种编程方式来修改 CSS 并保存它而不求助于字符串解析或正则表达式?
该应用程序是 VB6,但如果这是唯一的方法,我可以编写一个 .net 工具来执行 css 操作。
您不需要编辑现有的。你可以有一个新的覆盖另一个——你在你的 HTML 中一个接一个地包含这个。这就是“级联”的意思。
看起来有人已经完成了一个 VB.NET CSS 解析器,它是 F/OSS,所以如果您对许可证感到满意,您可能可以根据您的需要调整它。
根据您的 CSS 编辑器的技术导向程度,您可以非常简单地通过将整个内容加载到 TextEdit 字段中让他们对其进行编辑 - 然后将其写回文件中。
为 CSS 的所有可能性解析和创建接口将是天文数字般的痛苦。:-)
一种技巧是创建一个所有输出都通过的 PHP 脚本,然后用可配置的替代方案替换 CSS 的某些部分。如果您使用 .htaccess,您可以使所有输出都通过脚本。
我能想到的解决这个问题的最好方法是创建一个应用程序,它将获取一些值(通过 URL 查询)并基于 css 模板生成适当的 css 输出
检查一下,它使用 ASP.NET 和 C#。
也许对于程序员和用户来说最简单的问题的解决方案是通过 html 表单编辑 css,也许。我想,创建 css 文件,这将是这个应用程序的“默认”或“标准”,并且只是为了读取它,例如,通过 perl 脚本,在 html 中编辑并写下来。这里只是一个简单的例子。
在 css 文件中,我们有如下字符串:
border-color: #008a77;
我们必须读取这个字符串,将其拆分,然后发送到一个文件,该文件会将其写下来。在 Perl 中得到这样的东西:
tr/ / /s;
($vari, $value) = split(/:/, _$);
# # While you read file, you can just at the time to put this into html form
echo($vari.":<input type = text name = ".$vari." value = ".$value.">");
在这里,你只有简单的 html-form-data,你应该用这样的新数据覆盖你的 css 文件:
...
print $vari[i].": ".$value.";\n";
...
瞧——你有改变css的编程方式。当然,你必须让它更通用,更接近你的特定问题。
在我使用 IE 控件 (shadocvw.dll) 的工作中,它有一个有趣的功能,可以让您轻松管理页面的 CSS,并在页面上实时显示修改后的 CSS 效果。我自己从未处理过此类实现的细节,但我建议将其作为一个值得研究的可能解决方案。看到现在几乎每个人都在使用 IE 6 或更高版本,您可以跳过有关处理仅安装了 IE 5、4、3 或 2 的人的说明。