public static function recursive_force_closing_tags($dom, $node)
{
if (XML_ELEMENT_NODE !== $node->nodeType) {
return;
}
if (self::is_self_closing_tag($node->nodeName)) {
return;
}
if (self::is_node_empty($node)) {
$text_node = $dom->createTextNode('');
$node->appendChild($text_node);
return;
}
$num_children = $node->childNodes->length;
for ($i = $num_children - 1; $i >= 0; $i--) {
$child = $node->childNodes->item($i);
self::recursive_force_closing_tags($dom, $child);
}
}