Um die Warnungen auszublenden, müssen Sie spezielle Anweisungen geben, libxml
die intern für die Analyse verwendet werden:
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();
Das libxml_use_internal_errors(true)
zeigt an, dass Sie die Fehler und Warnungen selbst behandeln und nicht möchten, dass sie die Ausgabe Ihres Skripts durcheinander bringen.
Dies ist nicht dasselbe wie der @
Bediener. Die Warnungen werden hinter den Kulissen gesammelt und können anschließend abgerufen werden, indem Sie libxml_get_errors()
für den Fall, dass Sie eine Protokollierung durchführen oder die Liste der Probleme an den Anrufer zurücksenden möchten, diese verwenden .
Unabhängig davon, ob Sie die gesammelten Warnungen verwenden oder nicht, sollten Sie die Warteschlange immer durch einen Anruf löschen libxml_clear_errors()
.
Den Staat erhalten
Wenn Sie anderen Code verwenden, der verwendet wird libxml
, kann es sinnvoll sein, sicherzustellen, dass Ihr Code den globalen Status der Fehlerbehandlung nicht ändert . Dazu können Sie den Rückgabewert von verwenden libxml_use_internal_errors()
, um den vorherigen Status zu speichern.
$libxml_previous_state = libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();
libxml_use_internal_errors($libxml_previous_state);