function art_menu_xml_parcer($content, $show_sub_menus, $menu_class) { $parent_id = $menu_class . '-id'; $doc = art_xml_document_creator($content, $parent_id); if ($doc === FALSE) { return $content; } $parent = $doc->documentElement; $elements = $parent->childNodes; $ul_elements = $doc->getElementsByTagName("ul"); $ul_element = NULL; foreach ($ul_elements as $ul_element) { if ($ul_element->getAttribute('class') == "free-templates-lt-vmenu" || $ul_element->getAttribute('class') == "free-templates-lt-hmenu") { break; } continue; } if ($ul_element == NULL) { return $content; } art_menu_set_active($doc, $menu_class); $ul_children = art_menu_style_parcer($doc, $ul_element->childNodes, $show_sub_menus); $parent->appendChild($ul_element); while ($ul_element->previousSibling) { $parent->removeChild($ul_element->previousSibling); } return html_entity_decode($doc->saveHTML(), ENT_NOQUOTES, "UTF-8"); }
function art_menu_xml_parcer($content, $show_sub_menus, $menu_class) { $parent_id = $menu_class . '-id'; $doc = art_xml_document_creator($content, $parent_id); if ($doc === FALSE) { return $content; // An error occurred while reading XML content } $parent = $doc->documentElement; @($elements = $parent->childNodes); $ul_elements = $doc->getElementsByTagName("ul"); if ($ul_elements == NULL || !$ul_elements->length) { return $content; } $ul = NULL; foreach ($ul_elements as $ul) { // First ul element with css-class Cancilleria_hmenu or Cancilleria_vmenu if ($ul->getAttribute('class') == "Cancilleria_vmenu" || $ul->getAttribute('class') == "Cancilleria_hmenu") { break; } continue; } if ($ul == NULL) { $ul = $ul_elements->item(0); } art_menu_set_active($doc, $menu_class); $ul_children = art_menu_style_parcer($doc, $ul->childNodes, $show_sub_menus); $parent->appendChild($ul); while ($ul->previousSibling) { $parent->removeChild($ul->previousSibling); } $children = $parent->childNodes; $innerHTML = ''; foreach ($children as $child) { $tmp_doc = new DOMDocument(); $tmp_doc->appendChild($tmp_doc->importNode($child, true)); $innerHTML .= $tmp_doc->saveHTML(); } return html_entity_decode($innerHTML, ENT_NOQUOTES, "UTF-8"); }