Julian von Mendel: Wie einzelne Tags in einem XHTML-Dokument ersetzen?

Beitrag lesen

Hi,

ich hab jetzt eine Lösung mit DOMXML und Regular Expressions umgesetzt:

  
        $dom = new DomDocument();  
        $dom->loadXML($xml);  
  
        $tags = array("menu","list","rss");  
        $replace = array();  
  
        foreach($tags as $tag)  
        {  
            $nodes = $dom->getElementsByTagName($tag);  
            foreach($nodes as $node)  
            {  
                $replacement = call_user_func_array(array($this,$tag),array($node));  
                $xml = preg_replace("/<".addslashes($tag)."(.*?)(\\/>|<\\/".addslashes($tag).">)/s",$replacement,$xml,1);  
            }  
        }  

Ich weiß nicht ob das sehr elegant ist, aber es funktioniert. (Ich hasse RegEx.)

Schöne Grüße
Julian