3v4l.org

run code in 300+ PHP versions simultaneously
<?php $x = '<?xml version="1.0" encoding="utf-8"?> <SHOP> <SHOPITEM> <name>BLUE product</name> <IMGURL>main_picture.jpg</IMGURL> <PRODUCT_VARIANT id="2"> <name>blue L</name> <IMGURL>blue.jpg</IMGURL> </PRODUCT_VARIANT> <PRODUCT_VARIANT id="3"> <name>BLUE XL</name> <IMGURL>blue.jpg</IMGURL> </PRODUCT_VARIANT> <PRODUCT_VARIANT id="4"> <name>BLUE XXL</name> <IMGURL>blue.jpg</IMGURL> </PRODUCT_VARIANT> </SHOPITEM> </SHOP>'; $dom = new DOMDocument(); $dom->formatOutput = True; libxml_use_internal_errors( 1 ); $dom->loadXML( $x, LIBXML_NOBLANKS ); $xpath = new DOMXPath( $dom ); $nodes = $xpath->query( '//SHOP/SHOPITEM/PRODUCT_VARIANT/IMGURL' ); //q($nodes->length); $found = array(); foreach( $nodes as $key => $node ) { // $node = $nodes->item( $i ); if( in_array( $node->nodeValue, $found ) ) { $node->nodeValue = ''; } else { $found[] = $node->nodeValue; } } echo $dom->saveXML();
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
<?xml version="1.0" encoding="utf-8"?> <SHOP> <SHOPITEM> <name>BLUE product</name> <IMGURL>main_picture.jpg</IMGURL> <PRODUCT_VARIANT id="2"> <name>blue L</name> <IMGURL>blue.jpg</IMGURL> </PRODUCT_VARIANT> <PRODUCT_VARIANT id="3"> <name>BLUE XL</name> <IMGURL></IMGURL> </PRODUCT_VARIANT> <PRODUCT_VARIANT id="4"> <name>BLUE XXL</name> <IMGURL></IMGURL> </PRODUCT_VARIANT> </SHOPITEM> </SHOP>

preferences:
311.9 ms | 405 KiB | 332 Q