molily: DOMDocument und PHP5

Beitrag lesen

Hallo,

dieser HTML5-Parser ist noch im alpha-Stadium... sollte ich da allen Ernstes zugreifen?

Er hat Unit-Tests und folgt dem HTML5-Standard. Für das HTML-Parsing von libxml2 existieren vermutlich Unit-Tests, aber er folgt m.W. keinem Standard (weder SGML noch XML noch HTML5).

Lieber wäre mir in solchen Fällen, ich könnte alles in eine Datei übertragen

Was heißt »in eine Datei übertragen«?

Tausende Zeilen Code in eine PHP-Datei zu schreiben ist eher ein Zeichen von schlechtem Code. Dem Code des HTML5-Parsers sieht man an, dass er modern ist: Er folgt aktuellen Coding-Guidelines, nutzt Namensräume und pro Klasse eine Datei, lässt sich mit dem Composer installieren. Klar, das ist aufwändiger Code, aber HTML-Parsing ist kein Kinderspiel.

wie der Parser, den mir Tom mit simple_html_dom schon angeboten hatte.

Es kommt darauf an, was für HTML-Code du verarbeiten willst. Bei einem HTML5-Parser ist genau definiert, was für ein DOM-Baum herauskommt. libxml2 hat einen eigenen Umgang mit Tagsoup, und simple_html_dom sieht wie ein dilettantischer Parser aus, der nicht einmal eine Finite State Machine nutzt, sondern teilweise reguläre Ausdrücke. Robust und technisch korrekt wäre ein HTML5-Parser, ein anderer mag aus praktischen Erwägungen besser sein.

Mathias