我的自定义WP主题在主题选项面板中有一个文本块,允许用户创建和维护在运行时应用于网站模板的自定义css块。
我希望在将内容存储在数据库之前修剪或“缩小”此内容,但在将其呈现给用户进行编辑时保留所有空白。
这可能吗?
例如,如果用户输入以下内容作为其自定义css代码...
.red {color:red;}
.green {color:green;}
.blue {color:blue;}
然后我想将它存储在数据库中:
.red{color:red;}.green{color:green;}.blue{color:blue;}
但是当用户通过我的主题选项面板编辑内容时,仍然会显示输入(即保留所有空格和换行符)。
答案 0 :(得分:2)
如果在存储数据之前从数据中删除空格,则会丢失该空白信息。因此,您可能需要考虑以下选项:
在数据库中保留两列:原始CSS和Minified CSS。将缩小版本发送到浏览器,但用户将获得原始版本以在后端进行编辑。如果用户进行了一些更改,请同时提交原始字段和缩小字段。
您也可以简单地将原始版本存储在数据库中,而不会删除任何空格。然后在将CSS发送到浏览器之前简单地预处理CSS。但是,硬盘空间非常便宜,您可以使用上面建议的技术来避免预处理步骤。
按照问题中的建议存储缩小版本,然后在后端应用一些格式化逻辑,以便在每个分号后添加换行符等。显然用户可能使用过生成的代码格式不同。您也可以使用JavaScript在客户端应用格式化逻辑。
答案 1 :(得分:1)
Google创建了一个PHP类来帮助开发人员缩小Google Code
上的CSS答案 2 :(得分:1)
您需要的是一个压缩算法,而不是替换空间。寻找压缩算法,并在客户端发送和解压缩时使用它们来压缩你的css。我认为html提供了一些选择。将检查并添加评论。