Das Problem mit dem Weißraum bei diesen CDATA-Texten kann man mit normalize-space ganz gut lösen. Ich füge dann nur dort einen Zeilenumbruch mit ein, wo es notwendig ist.
Ein neues Problem habe ich aber mit Listen.
Ich würde gerne zwischen Hauptlisten und Unterlisten unterscheiden.
Z.B. bei Unterlisten <li2> statt <li> einfügen, damit ich in InDesign eine andere Formatierung zuweisen kann.
Leider habe ich keine passenden Regular Expressions gefunden.
Beispiel:
Ich würde gerne alle <li> von Unterlisten durch <li2> ersetzen.
Nach der Entfernung aller Leerzeichen zwischen den HTML-Befehlen habe ich folgendes GREP ausprobiert:
(<li>.+?<ul>.*?)<li>(.+?</ul></li>) ersetze durch: $1<li2>$2
Das würde auch funktionieren, wenn man es mehrmals ausführt und es immer nur eine Unterliste gibt.
Da es aber auch mehrere Unterlisten geben kann, wird auch das <li> in der Hauptliste gefunden, da es auch vor diesem <li> vorher ein <li>.+?<ul> und nacher ein </ul></li> gibt.
Dass diese gefundenen <ul> und </ul> nicht von der gleichen Liste stammen, ist der Suche natürlich egal.
Weiß jemand, ob man das irgendwie umgehen könnte.
Gruß, Peter