Wie überprüfen Sie, ob ein String ein gültiges XML ist, ohne eine Warnung in PHP anzuzeigen

In PHP kannst du die Funktion "simplexml_load_string" verwenden, um zu überprüfen, ob ein String ein gültiges XML ist, ohne eine Warnung anzuzeigen. Diese Funktion gibt bei Erfolg ein Objekt der Klasse SimpleXMLElement zurück und bei Misserfolg "FALSE". Hier ist ein Beispiel, wie man es verwendet:

<?php

$xml_string = "<root><element>text</element></root>";
$xml = simplexml_load_string($xml_string);
if ($xml === false) {
    // Ungültiges XML
} else {
    // Gültiges XML
}

Alternativ kannst du auch libxml_use_internal_errors(true) verwenden um die libxml Fehler auszuschalten und dann kannst du libxml_get_errors() verwenden um Fehler abzufangen.

<?php

libxml_use_internal_errors(true);
$xml_string = "<root><element>text</element></root>";
$xml = simplexml_load_string($xml_string);
$errors = libxml_get_errors();
if(empty($errors)){
    //Gültiges XML
}else{
    //Ungültiges XML
}
libxml_clear_errors();
libxml_use_internal_errors(false);

Beide oben genannten Beispiele überprüfen, ob der String ein gültiges XML ist und zeigen keine Warnungen an.