1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
private function main_menu(){ $menu = menu('Main'); $dom = new \DOMDocument; $dom->loadHTML($menu); //echo $dom->saveHTML(); //exit(); $output = '<ul class="list-reset navbar-nav">'; $xpath = new \DOMXPath($dom); $nodes = $xpath->query("//li"); foreach($nodes as $node) { //Get child node $a = $node->getElementsByTagName('a')->item(0); //If li has active class $a->setAttribute('class', 'navbar-item'); if($node->hasAttributes() == true){ foreach($node->attributes as $attr){ if($attr->nodeName == 'class' && $attr->nodeValue == 'active'){ $a->setAttribute('class', 'navbar-item active'); } } } //Remove active class of li $node->setAttribute('class', ''); $output .= $dom->saveHTML($node); } //echo $dom->saveHTML($node); //exit(); $output .= '</ul>'; //logg($output); return $output; } |
Reference: