<?php
// suppose some data is missing...
$data = [];
$data["height"]="";
$data['text']="more testing";
// get XML into a variable ...
$xml = <<<XML
<template>
<height>$data[height]</height>
<width>$data[height]</width>
<text>$data[text]</text>
</template>
XML;
$dom = new DOMDocument;
$dom->preserveWhiteSpace = false;
$dom->loadXML( $xml );
$template = $dom->getElementsByTagName('template')->item(0);
$nodeList = $template->childNodes;
echo (function() use($dom,$template,$nodeList){
// iterate backwards to remove node missing value
for( $max=$nodeList->length-1, $i=0; $max >= $i; $max-- ) {
$currNode = $nodeList->item($max);
$status = $currNode->hasChildNodes()? true:false;
if ($status === false) {
$currNode->parentNode->removeChild( $currNode );
}// end if
}// end for
return $dom->saveXML( $template );
})(); // immediate executable
- Output for 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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- <template><text>more testing</text></template>
- Output for 5.6.0 - 5.6.40
- Parse error: syntax error, unexpected '(', expecting ',' or ';' in /in/j9nf9 on line 34
Process exited with code 255.
preferences:
140.88 ms | 407 KiB | 5 Q