2 Stimmen

PHP Einfacher CSS-String-Parser

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; ).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X