Lange Titel halten :)Entfernen Zeilenumbrüche in einer XML-Datei, in Tags und zwischen der Struktur
Sowieso ich viele XML-Dateien, die ich auf Fly aufzuräumen will, einfach konvertieren auf Fly mit PHP preg_replace RegEx Ausgang.
Jetzt kann ich die Änderungen nicht dauerhaft machen, also habe ich eine PHP-Funktion geschrieben, um durch die Datei zu gehen.
Was ich nicht beheben kann, ist das RegEx-Muster.
https://regex101.com/r/bN5eF4/7
Ich möchte passen:
<all-tags with-their="attribute"
even-if-there="are-more">
and all the content between the start and end tag
even if there
are line breaks
in between them
</all-tags>
Ich wette, es ist sehr einfach, aber ich habe noch nie RegEx sehr gut behandelt ... leider.
Edited
scheint, die Menschen wollen, dass ich einen Parser-Funktion von SimpleXML zu bauen, dass die XML-Datei geht throu und die Zeilenumbrüche entfernen?
Im selben Prozess möchte ich einige Elemente mit ihrem Inhalt entfernen, je nachdem, was sie in ihren Attributen angibt. Profilierung sozusagen.
Ich dachte Zeilenumbrüche und Profilerstellung vor der Verarbeitung der XML-Datei mit Xsltprocessor wäre die schnellere Wahl?
nicht XML mit Regex analysieren Sie; Verwenden Sie einen echten XML-Parser. – kjhughes
Zu diesem Zweck ist RegEx viel schneller, da ich es als Zeichenfolge laden und dann nur Zeilenumbrüche innerhalb von Tags und zwischen Tags entfernen möchte. – Anuga
Das Erkennen, wann Sie innerhalb und zwischen Tags sind, ist kein Auftrag für Regex. – kjhughes