Ich muss einige CSS-Code wie parsen:
color: black;
font-family:"Courier New";
background:url('test.png');
color: red;
--crap;
In:
array (
'color'=>'red',
'font-family'=>'"Courier New"',
'background'=>'url(\'test.png\')',
'--crap'=>''
)
- Ich muss dies über PHP tun. Ich kann sehen, dies leicht über regexp getan (gut, einfach für diejenigen, die es wissen, im Gegensatz zu mir :-) ).
- Das resultierende Array muss "normalisiert" sein, d.h. es dürfen keine Leerzeichen zwischen den Token stehen, auch wenn sie in der Quelle vorhanden sind.
- Wertlose css-Token sollten nur als Schlüssel in das Array aufgenommen werden. (siehe --crap)
- Anführungszeichen (und Werte im Allgemeinen) sollten so bleiben, wie sie sind, mit Ausnahme zusätzlicher Formatierungen (Leerzeichen, Tabulatoren), die leicht mit trim() oder dem entsprechenden regexp-Schalter entfernt werden können.
- Bitte beachten Sie, dass ich an dieser Stelle ausdrücklich benötigen keinen vollständigen CSS-Parser , d.h. es besteht keine Notwendigkeit, Blöcke zu analysieren (
{...}
) oder Selektoren (a.myclass#myid
). - Oh, und wenn man bedenkt, dass ich dieses Zeug in ein Array packen werde, ist es völlig in Ordnung, wenn die letzten Elemente (
color:red;
) vollständig außer Kraft setzen die ursprünglichen Artikel (color:black;
).