<?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