3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div id="div1"><div id="div2">222</div><div id="div3">333</div></div></body></html>'; $doc = new DOMDocument; libxml_use_internal_errors(true); $doc->loadHTML($html); $div1=$doc->getElementById('div1'); $div2=$doc->getElementById('div2'); $div3=$doc->getElementById('div3'); print_r($div2); print_r($div3); $div1->nodeValue=''; $div1->appendChild($doc->createTextNode(html_entity_decode('111'))); print_r(array($div2,$div2->parentNode)); print_r(array($div3,$div3->parentNode)); $div3->parentNode->removeChild($div3); echo $doc->saveHTML();
Output for 8.3.0 - 8.3.6
DOMElement Object ( [schemaTypeInfo] => [tagName] => div [className] => [id] => div2 [firstElementChild] => [lastElementChild] => [childElementCount] => 0 [previousElementSibling] => [nextElementSibling] => (object value omitted) [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => (object value omitted) [parentElement] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => (object value omitted) [attributes] => (object value omitted) [isConnected] => 1 [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) DOMElement Object ( [schemaTypeInfo] => [tagName] => div [className] => [id] => div3 [firstElementChild] => [lastElementChild] => [childElementCount] => 0 [previousElementSibling] => (object value omitted) [nextElementSibling] => [nodeName] => div [nodeValue] => 333 [nodeType] => 1 [parentNode] => (object value omitted) [parentElement] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => (object value omitted) [nextSibling] => [attributes] => (object value omitted) [isConnected] => 1 [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 333 ) Array ( [0] => DOMElement Object ( [schemaTypeInfo] => [tagName] => div [className] => [id] => div2 [firstElementChild] => [lastElementChild] => [childElementCount] => 0 [previousElementSibling] => [nextElementSibling] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => [parentElement] => [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => [attributes] => (object value omitted) [isConnected] => [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) [1] => ) Array ( [0] => DOMElement Object ( [schemaTypeInfo] => [tagName] => div [className] => [id] => div3 [firstElementChild] => [lastElementChild] => [childElementCount] => 0 [previousElementSibling] => [nextElementSibling] => [nodeName] => div [nodeValue] => 333 [nodeType] => 1 [parentNode] => [parentElement] => [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => [attributes] => (object value omitted) [isConnected] => [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 333 ) [1] => ) Fatal error: Uncaught Error: Call to a member function removeChild() on null in /in/IpKCv:18 Stack trace: #0 {main} thrown in /in/IpKCv on line 18
Process exited with code 255.
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.18
DOMElement Object ( [schemaTypeInfo] => [tagName] => div [firstElementChild] => [lastElementChild] => [childElementCount] => 0 [previousElementSibling] => [nextElementSibling] => (object value omitted) [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => (object value omitted) [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) DOMElement Object ( [schemaTypeInfo] => [tagName] => div [firstElementChild] => [lastElementChild] => [childElementCount] => 0 [previousElementSibling] => (object value omitted) [nextElementSibling] => [nodeName] => div [nodeValue] => 333 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => (object value omitted) [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 333 ) Array ( [0] => DOMElement Object ( [schemaTypeInfo] => [tagName] => div [firstElementChild] => [lastElementChild] => [childElementCount] => 0 [previousElementSibling] => [nextElementSibling] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) [1] => ) Fatal error: Uncaught Error: Couldn't fetch DOMElement. Node no longer exists in /in/IpKCv:17 Stack trace: #0 {main} thrown in /in/IpKCv on line 17
Process exited with code 255.
Output for 8.0.0 - 8.0.30
DOMElement Object ( [tagName] => div [schemaTypeInfo] => [firstElementChild] => [lastElementChild] => [childElementCount] => 0 [previousElementSibling] => [nextElementSibling] => (object value omitted) [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => (object value omitted) [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) DOMElement Object ( [tagName] => div [schemaTypeInfo] => [firstElementChild] => [lastElementChild] => [childElementCount] => 0 [previousElementSibling] => (object value omitted) [nextElementSibling] => [nodeName] => div [nodeValue] => 333 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => (object value omitted) [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 333 ) Array ( [0] => DOMElement Object ( [tagName] => div [schemaTypeInfo] => [firstElementChild] => [lastElementChild] => [childElementCount] => 0 [previousElementSibling] => [nextElementSibling] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) [1] => ) Fatal error: Uncaught Error: Couldn't fetch DOMElement. Node no longer exists in /in/IpKCv:17 Stack trace: #0 {main} thrown in /in/IpKCv on line 17
Process exited with code 255.
Output for 7.0.21 - 7.0.33, 7.1.7 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33
DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => (object value omitted) [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 333 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => (object value omitted) [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 333 ) Array ( [0] => DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) [1] => ) Warning: Couldn't fetch DOMElement. Node no longer exists in /in/IpKCv on line 17 Notice: Undefined property: DOMElement::$parentNode in /in/IpKCv on line 17 Array ( [0] => DOMElement Object ( ) [1] => ) Warning: Couldn't fetch DOMElement. Node no longer exists in /in/IpKCv on line 18 Notice: Undefined property: DOMElement::$parentNode in /in/IpKCv on line 18 Fatal error: Uncaught Error: Call to a member function removeChild() on null in /in/IpKCv:18 Stack trace: #0 {main} thrown in /in/IpKCv on line 18
Process exited with code 255.
Output for 7.3.32 - 7.3.33
DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => (object value omitted) [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 333 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => (object value omitted) [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 333 ) Array ( [0] => DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) [1] => ) Warning: Couldn't fetch DOMElement. Node no longer exists in /in/IpKCv on line 17 Array ( [0] => DOMElement Object ( ) [1] => ) Warning: Couldn't fetch DOMElement. Node no longer exists in /in/IpKCv on line 18 Fatal error: Uncaught Error: Call to a member function removeChild() on null in /in/IpKCv:18 Stack trace: #0 {main} thrown in /in/IpKCv on line 18
Process exited with code 255.
Output for 7.0.16 - 7.0.20, 7.1.2 - 7.1.6
DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => (object value omitted) [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 333 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => (object value omitted) [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 333 ) Array ( [0] => DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) [1] => ) Array ( [0] => DOMElement Object ( [tagName] => text [schemaTypeInfo] => [nodeName] => #text [nodeValue] => [nodeType] => 3 [parentNode] => (object value omitted) [childNodes] => [firstChild] => [lastChild] => [previousSibling] => [nextSibling] => (object value omitted) [attributes] => [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => [baseURI] => [textContent] => ) [1] => DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 111 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 111 ) ) <!DOCTYPE html> <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div id="div1">111</div></body></html> free(): double free detected in tcache 2
Process exited with code 134.
Output for 5.3.11 - 5.3.29, 5.4.1 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.15, 7.1.0 - 7.1.1
DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [nextSibling] => (object value omitted) [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 333 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => (object value omitted) [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 333 ) Array ( [0] => DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 222 [nodeType] => 1 [parentNode] => [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 222 ) [1] => ) Array ( [0] => DOMElement Object ( [tagName] => text [schemaTypeInfo] => [nodeName] => #text [nodeValue] => [nodeType] => 3 [parentNode] => (object value omitted) [childNodes] => [firstChild] => [lastChild] => [previousSibling] => [nextSibling] => (object value omitted) [attributes] => [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => [baseURI] => [textContent] => ) [1] => DOMElement Object ( [tagName] => div [schemaTypeInfo] => [nodeName] => div [nodeValue] => 111 [nodeType] => 1 [parentNode] => (object value omitted) [childNodes] => (object value omitted) [firstChild] => (object value omitted) [lastChild] => (object value omitted) [previousSibling] => [attributes] => (object value omitted) [ownerDocument] => (object value omitted) [namespaceURI] => [prefix] => [localName] => div [baseURI] => [textContent] => 111 ) ) <!DOCTYPE html> <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div id="div1">111</div></body></html> free(): double free detected in tcache 2
Process exited with code 134.
Output for 5.3.3 - 5.3.10, 5.4.0
DOMElement Object ( ) DOMElement Object ( ) Array ( [0] => DOMElement Object ( ) [1] => ) Array ( [0] => DOMElement Object ( ) [1] => DOMElement Object ( ) ) <!DOCTYPE html> <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div id="div1">111</div></body></html> free(): double free detected in tcache 2
Process exited with code 134.
Output for 5.2.3 - 5.2.17, 5.3.0 - 5.3.2
DOMElement Object ( ) DOMElement Object ( ) Array ( [0] => DOMElement Object ( ) [1] => ) Array ( [0] => DOMElement Object ( ) [1] => DOMElement Object ( ) ) <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head> <body><div id="div1">111</div></body> </html> free(): double free detected in tcache 2
Process exited with code 134.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.2
DOMElement Object ( ) DOMElement Object ( ) Array ( [0] => DOMElement Object ( ) [1] => ) Array ( [0] => DOMElement Object ( ) [1] => DOMElement Object ( ) ) <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head> <body><div id="div1">111</div></body> </html> free(): invalid pointer
Process exited with code 134.
Output for 5.0.0 - 5.0.5
Fatal error: Call to undefined function libxml_use_internal_errors() in /in/IpKCv on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9
Fatal error: Cannot instantiate non-existent class: domdocument in /in/IpKCv on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Cannot instantiate non-existent class: domdocument in /in/IpKCv on line 4

preferences:
361.06 ms | 401 KiB | 464 Q