3v4l.org

run code in 300+ PHP versions simultaneously
<?php function getbody($url) { $dom = new DOMDocument; //$dom->loadHTML($file); $dom->loadHTMLFile($url); $bodies = $dom->getElementsByTagName('body'); assert($bodies->length === 1); $body = $bodies->item(0); for ($i = 0; $i < $body->children->length; $i++) { $body->remove($body->children->item($i)); } $stringbody = $dom->saveHTML($body); return $stringbody; } $url = "http://stackoverflow.com"; //$url = "http://www.barcelona.com"; $body = getbody($url); //var_dump($body); ?> <html> <head></head> <body> <?php echo "BODY ripped from: ".$url."<br/>"; echo "<textarea rows='40' cols='200' >".$body."</textarea>"; ?> </body> </html>
Output for 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo for stackoverflow.com failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): Failed to open stream: php_network_getaddresses: getaddrinfo for stackoverflow.com failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Fatal error: Uncaught AssertionError: assert($bodies->length === 1) in /in/3NCJF:7 Stack trace: #0 /in/3NCJF(7): assert(false, 'assert($bodies-...') #1 /in/3NCJF(17): getbody('http://stackove...') #2 {main} thrown in /in/3NCJF on line 7
Process exited with code 255.
Output for 8.0.13 - 8.0.30
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): Failed to open stream: php_network_getaddresses: getaddrinfo failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Fatal error: Uncaught AssertionError: assert($bodies->length === 1) in /in/3NCJF:7 Stack trace: #0 /in/3NCJF(7): assert(false, 'assert($bodies-...') #1 /in/3NCJF(17): getbody('http://stackove...') #2 {main} thrown in /in/3NCJF on line 7
Process exited with code 255.
Output for 8.0.0 - 8.0.12
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): Failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Fatal error: Uncaught AssertionError: assert($bodies->length === 1) in /in/3NCJF:7 Stack trace: #0 /in/3NCJF(7): assert(false, 'assert($bodies-...') #1 /in/3NCJF(17): getbody('http://stackove...') #2 {main} thrown in /in/3NCJF on line 7
Process exited with code 255.
Output for 7.2.0 - 7.2.13, 7.3.0 - 7.3.12, 7.4.0, 7.4.26 - 7.4.33
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: php_network_getaddresses: getaddrinfo failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): assert($bodies->length === 1) failed in /in/3NCJF on line 7 Notice: Trying to get property 'children' of non-object in /in/3NCJF on line 9 Notice: Trying to get property 'length' of non-object in /in/3NCJF on line 9 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' > </textarea></body> </html>
Output for 7.2.29 - 7.2.33, 7.3.16 - 7.3.31, 7.4.3 - 7.4.25
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): assert($bodies->length === 1) failed in /in/3NCJF on line 7 Notice: Trying to get property 'children' of non-object in /in/3NCJF on line 9 Notice: Trying to get property 'length' of non-object in /in/3NCJF on line 9 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' > </textarea></body> </html>
Output for 7.3.32 - 7.3.33
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: php_network_getaddresses: getaddrinfo failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): assert($bodies->length === 1) failed in /in/3NCJF on line 7 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' > </textarea></body> </html>
Output for 7.0.4, 7.0.20, 7.1.5 - 7.1.25
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: php_network_getaddresses: getaddrinfo failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): assert($bodies->length === 1) failed in /in/3NCJF on line 7 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Notice: Trying to get property of non-object in /in/3NCJF on line 9 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' > </textarea></body> </html>
Output for 7.0.0 - 7.0.3, 7.0.5 - 7.0.14, 7.1.0
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): assert($bodies->length === 1) failed in /in/3NCJF on line 7 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Notice: Trying to get property of non-object in /in/3NCJF on line 9 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' > </textarea></body> </html>
Output for 5.3.6 - 5.3.29, 5.4.0 - 5.4.38, 5.5.24 - 5.5.32, 5.5.34 - 5.5.35, 5.6.8 - 5.6.17, 5.6.20 - 5.6.28
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): Assertion failed in /in/3NCJF on line 7 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Notice: Trying to get property of non-object in /in/3NCJF on line 9 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' > </textarea></body> </html>
Output for 5.4.39 - 5.4.45, 5.5.33, 5.6.18 - 5.6.19
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: php_network_getaddresses: getaddrinfo failed: System error in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): Assertion failed in /in/3NCJF on line 7 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Notice: Trying to get property of non-object in /in/3NCJF on line 9 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' > </textarea></body> </html>
Output for 5.2.6 - 5.2.17, 5.3.0 - 5.3.5
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): Assertion failed in /in/3NCJF on line 7 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Warning: DOMDocument::saveHTML() expects exactly 0 parameters, 1 given in /in/3NCJF on line 12 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' ></textarea></body> </html>
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.5
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: Connection refused in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): Assertion failed in /in/3NCJF on line 7 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Warning: DOMDocument::saveHTML() expects exactly 0 parameters, 1 given in /in/3NCJF on line 12 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' ></textarea></body> </html>
Output for 5.0.3 - 5.0.5
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: Connection refused in /in/3NCJF on line 5 Warning: connection refusedI/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): Assertion failed in /in/3NCJF on line 7 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Warning: DOMDocument::saveHTML() expects exactly 0 parameters, 1 given in /in/3NCJF on line 12 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' ></textarea></body> </html>
Output for 5.0.1 - 5.0.2
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: gethostbyname failed in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: Success in /in/3NCJF on line 5 Warning: connection refusedI/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): Assertion failed in /in/3NCJF on line 7 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Warning: DOMDocument::saveHTML() expects exactly 0 parameters, 1 given in /in/3NCJF on line 12 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' ></textarea></body> </html>
Output for 5.0.0
Warning: DOMDocument::loadHTMLFile(): php_network_getaddresses: gethostbyname failed in /in/3NCJF on line 5 Warning: DOMDocument::loadHTMLFile(http://stackoverflow.com): failed to open stream: Bad file descriptor in /in/3NCJF on line 5 Warning: connection refusedI/O warning : failed to load external entity "http://stackoverflow.com" in /in/3NCJF on line 5 Warning: assert(): Assertion failed in /in/3NCJF on line 7 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Notice: Trying to get property of non-object in /in/3NCJF on line 9 Warning: DOMDocument::saveHTML() expects exactly 0 parameters, 1 given in /in/3NCJF on line 12 <html> <head></head> <body> BODY ripped from: http://stackoverflow.com<br/><textarea rows='40' cols='200' ></textarea></body> </html>
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9
Fatal error: Cannot instantiate non-existent class: domdocument in /in/3NCJF on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Cannot instantiate non-existent class: domdocument in /in/3NCJF on line 3

preferences:
257.21 ms | 401 KiB | 325 Q