note 107869 added to class.simplexmlelement

From: Date: Mon, 12 Mar 2012 00:27:36 +0000
Subject: note 107869 added to class.simplexmlelement
Groups: php.notes 
Request: Send a blank email to php-notes+get-186602@lists.php.net to get a copy of this message
Parsing an invalid XML string through SimpleXML causes the script to crash completely (usually) therefore it is best to make sure the XML is valid before parsing with something like this: // Must be tested with ===, as in if(isXML($xml) === true){} // Returns the error message on improper XML function isXML($xml){ libxml_use_internal_errors(true); $doc = new DOMDocument('1.0', 'utf-8'); $doc->loadXML($xml); $errors = libxml_get_errors(); if(empty($errors)){ return true; } $error = $errors[0]; if($error->level < 3){ return true; } $explodedxml = explode("r", $xml); $badxml = $explodedxml[($error->line)-1]; $message = $error->message . ' at line ' . $error->line . '. Bad XML: ' . htmlentities($badxml); return $message; } ---- Server IP: 69.147.83.197 Probable Submitter: 67.60.197.213 ---- Manual Page -- http://www.php.net/manual/en/class.simplexmlelement.php Edit -- https://master.php.net/note/edit/107869 Del: integrated -- https://master.php.net/note/delete/107869/integrated Del: useless -- https://master.php.net/note/delete/107869/useless Del: bad code -- https://master.php.net/note/delete/107869/bad+code Del: spam -- https://master.php.net/note/delete/107869/spam Del: non-english -- https://master.php.net/note/delete/107869/non-english Del: in docs -- https://master.php.net/note/delete/107869/in+docs Del: other reasons-- https://master.php.net/note/delete/107869 Reject -- https://master.php.net/note/reject/107869 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#186602) next »