Frage

Ich setze einigen Seiteninhalt (die durch Tidy ausgeführt wurde, muss aber nicht sein, wenn dies eine Quelle von Problemen ist) in DOMDocument mit DOMDocument::loadHTML.

Es kommt mit verschiedenen Fehlern:

  

ID x bereits in Entity definiert, Linie X

Gibt es eine Möglichkeit, entweder DOMDocument (oder Tidy) ignoriert oder Streifen aus doppelter Element-IDs zu machen, so wird es die DOMDocument tatsächlich schaffen?

Danke. :)

War es hilfreich?

Lösung

Eine schnelle Suche über das Thema zeigt diesen (falschen) Fehlerbericht:

http://bugs.php.net/bug.php?id=46136

Die letzte Antwort heißt es wie folgt:

  

Sie verwenden HTML 4 Regeln ein laden   XHTML-Dokument. Entweder die Last ()   Verfahren, wie XML parsen oder   libxml_use_internal_errors () -Funktion   die Warnungen zu ignorieren.

Ich kann nicht sicher sein, wenn Sie dieses Problem aus den gleichen Gründen stoßen, da Sie keinen Verweis auf die HTML-Seite wird geladen enthalten waren. Auf jeden Fall mit libxml_use_internal_errors() sollte mindestens Unterdrückungs der Fehler.

IDs in HTML-Dokumente sind im Allgemeinen einzigartig , so dass die beste Lösung noch wäre das Dokument validieren, wenn überhaupt möglich.

Andere Tipps

Per Definition sind IDs einzigartig. Wenn sie nicht sind, sollten Sie Klassen verwenden, anstatt (noch Namen, wo es gilt).
Ich bezweifle, dass Sie XML-Tools zwingen können doppelten IDs zu ignorieren, das wird sie ein ungültiges XML-Dokument bearbeiten.

Mit Ausnahmen doppeltes IDs zu behandeln, und die zweite ID umbenennen. Oder vielleicht, kombinieren Elemente in Unterelementen gleich Eltern mit der ID.

IDs sind eindeutig in einer XML-Datei (in der rootElement von XMLTree)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top