Dr. Frankenstein Geschrieben 15. Dezember 2011 Teilen Geschrieben 15. Dezember 2011 Hallo, ich habe ein Dokument/String und möchte dort verschiedene Elemente entfernen. Dazu zählen z.B: folgende Elemente <p channel="!">TEXTTEXT</p> oder <span channel="!">TEXTTEXT</span>. Die Elemente sind sehr verschachtelt. Wie kann ich die Tags und den INhalt dazwischen entfernen?? Mit reg_replace habe ich bisher kein Erfolg gehabt. Dort geht es gerade bei verschachtelten Elemente nicht. Jemand eine Idee? Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 16. Dezember 2011 Teilen Geschrieben 16. Dezember 2011 Regex machen meiner Erfahrung nach nur Probleme (Aufwand), wenn die Tags über mehrere Zeilen gehen. Was hast du denn bisher probiert? Wenn dein Output wohlgeformtes XML ist, dann kannst du über eine XPath-Ausdruck alle Element finden und entfernen. Eine clientseitige Lösung wäre mit CSS bzw. möglich Javascript möglich. Du könntest allen Elementen, die ein Attribut "channel" mit dem Wert "!" den display-Wert 'none' zuweisen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dr. Frankenstein Geschrieben 16. Dezember 2011 Autor Teilen Geschrieben 16. Dezember 2011 Kann ich mit XPath die Elemente entfernen und mit dem XML-String dann weiter arbeiten? Auf Client-Seite kann es nicht durchgeführt werden, da das XML weiter verarbeitet werden muss. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 19. Dezember 2011 Teilen Geschrieben 19. Dezember 2011 Du hast einen XML-Baum, der manipuliert wird. Wenn du eine Änderung vorgenommen hast, arbeitest du automatisch mit dem veränderten Baum weiter. Nennt sich Referenzen auf Objekte Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.