【发布时间】:2011-04-12 12:37:57
【问题描述】:
我需要解析一些 CSS 代码,例如:
color: black;
font-family:"Courier New";
background:url('test.png');
color: red;
--crap;
进入:
array (
'color'=>'red',
'font-family'=>'"Courier New"',
'background'=>'url(\'test.png\')',
'--crap'=>''
)
- 我需要通过 PHP 执行此操作。我可以通过正则表达式轻松完成此操作(嗯,对那些知道它的人来说很容易,不像我自己 :-))。
- 我需要对结果数组进行“规范化”,标记之间不应有任何尾随空格,即使它们在源中也是如此。
- 无价值的 css 标记应仅作为键包含在数组中。 (见--废话)
- 引号(和一般的值)应保持原样,除了额外的格式(空格、制表符);通过 trim() 或相关的正则表达式开关轻松删除。
- 请注意,此时我特别不需要完整的 CSS 解析器,即不需要解析块 (
{...}) 或选择器 (a.myclass#myid)。 - 哦,考虑到我会将这些东西放在一个数组中,如果最后的项目 (
color:red;)完全覆盖原始项目 (color:black;),那是完全可以的。
【问题讨论】:
-
为什么
--crap后面没有:? -
某些专有 CSS 不是 key:value 格式。我想简单地支持这种格式。
标签: php css regex arrays parsing