3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php /** * Checks if a XML file's structure is valid. * @author Julius Beckmann <php@h4cc.de> * @param $file string * @return bool */ function isXmlStructureValid($file) { $prev = libxml_use_internal_errors(true); $ret = true; try { new SimpleXMLElement($file, 0, true); } catch(Exception $e) { $ret = false; } if(count(libxml_get_errors()) > 0) { // There has been XML errors $ret = false; } // Tidy up. libxml_clear_errors(); libxml_use_internal_errors($prev); return $ret; } $xml = '<html> <head><title>411 Length Required</title></head> <body bgcolor="white"> <center><h1>411 Length Required</h1></center> <hr><center>nginx</center> </body> </html>'; var_dump(isXmlStructureValid($xml));
Output for 5.1.0 - 5.6.28, 7.0.0 - 7.1.0
bool(false)
Output for hhvm-3.10.0 - 3.12.0
Warning: Protocol 'file' for external XML entity '<html> <head><title>411 Length Required</title></head> <body bgcolor="white"> <center><h1>411 Length Required</h1></center> <hr><center>nginx</center> </body> </html>' is disabled for security reasons. This may be changed using the hhvm.libxml.ext_entity_whitelist ini setting. in /in/MWDSO on line 13 bool(false)
Output for 5.0.0 - 5.0.5
Fatal error: Call to undefined function libxml_use_internal_errors() in /in/MWDSO on line 10
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected '{' in /in/MWDSO on line 12
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected '{' in /in/MWDSO on line 12
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/MWDSO on line 12
Process exited with code 255.