3v4l.org

run code in 300+ PHP versions simultaneously
<?php header('Content-Type: text/plain; charset="utf-8"'); $dom = new DOMDocument('1.0', 'UTF-8'); $dom->loadXML(<<<__XML <?xml version="1.0" encoding="UTF-8"?> <root> <element>1</element> <element attr="a">2</element> <element>3</element> <element>4</element> <element attr="a">5</element> <element attr="a">6</element> <element>7</element> <element>8</element> </root> __XML ); $elements = $dom->getElementsByTagName('element'); $elements_array = iterator_to_array($elements); foreach ($elements_array as $element) { /** @var $element DomElement */ if ($element->hasAttribute('attr')) { $element->parentNode->removeChild($element); } } echo $dom->saveXML();
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.31, 8.2.0 - 8.2.27, 8.3.0 - 8.3.19, 8.4.1 - 8.4.5
<?xml version="1.0" encoding="UTF-8"?> <root> <element>1</element> <element>3</element> <element>4</element> <element>7</element> <element>8</element> </root>

preferences:
158.11 ms | 409 KiB | 5 Q