Cheatah: RegEx für Style-Attribut

Beitrag lesen

Hi,

Es handelt sich um eine Template-Engine, eine bessere " Technik " als PHP für das Parsing vor der Ausgabe als HTML kenne ich nicht.

ja, bitte. PHP bietet viele Möglichkeiten.

content: 'Das hier: 'var foo = "bar";' ist eine Variablen-Deklaration.';
diese Bsp. ist mir nicht ganz klar...

Wenn Du eine RegExp hast, die die von Dir genannten und das oben stehende Beispiel korrekt erkennt, dann gebe ich Dir ein Beispiel, bei dem die RegExp kläglich versagt. Egal wie oft. Es ist absolut unmöglich, dass eine einzige Regular Expression alle möglichen Fälle abdeckt - selbst wenn man diese nur auf validen Code beschränkt.

für das Auslesen von Tag-Attributen habe ich folgende zwei Schritte:
$atts_string = preg_replace('/([\w]*)=([^"][\w]*)([\W|>]?)/', '$1="$2"$3', $atts_string);

Na prima, schon bei <foo qaz = bar> versagt dies, von haufenweise absolut gültiger Werte ganz zu schweigen.

preg_match_all('/([\w]*)="(.*?)"/', $atts_string, $matches);

Jag da mal ein <p title='Ein "sch&ouml;ner" Absatz'> durch.

das sollte doch auch für single quoted Style-Eigenschaften möglich sein.

CSS-Syntax ist noch sehr viel komplexer als die von HTML, und schon das ist ganz augenscheinlich schwerer, als Du es erkannt hast. Regular Expressions sind *nicht* in der Lage, Strukturen zu analysieren.

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes