preg_match_all Problem

ein windows zeilenumbruch: \r\n
ein unix zeilenumbruch: \n
ein mac zeilenumbruch: \r
 
dein problem ist, dass viel zu viel html im regulaeren ausdruck ist.
kann ja fast nie klappen, sobald du irgendwo einen zeilenumbruch / tab zuviel dort drin hast isses vorbei :-)

um die texte zu extrahieren wuerde ich mir marker in form von kommentaren setzen:

<tr><td><!--begin-->text blahblha<!--end--></td></tr>

und dann sieht der regexp schon viel einfacher aus:
preg_match_all("=<!--begin-->(.*)<!--end-->=siU", $quelltext, $a);

dann hast du keine probleme mit newlines umbruechen und sonstigem html.

ohne diese marker wirst du es kaum hinkriegen. formatierst du ein bisschen dein html um, schon ist der rtegexp im *****, so geht das nicht ;)
 
Nicht gerade die Lösung meines Problems, aber danke !!!

Logisch finde ich das trotzdem nicht ! Sonst hat PHP doch auch keine Probleme mit Zeilenumbrüchen :confused:
 
da der sinn von regulaeren ausdruecken aber nunmal die _exakte_ beschreibung von textmustern ist und nicht "html-schwampf" ist das mehr als logisch ;)

und anders wirst du dein problem auch nicht wirklich loesen koennen, ich hoffe wir sind uns da einig, das bei deiner methode alles in die gruetze geht, sobald du ein wenig am html werkelst ( anderes stylesheet einfuegst, td eine breite gibst, einen newline, tab einfuegst, u.s.w.).
 
Zurück