Vielleicht ein Fall für Regex back references.
öffnende / schließende
HTML Tags kann man damit auch erwischen.
Leere Variablen kann man vlt. entweder stumpf ersetzen und mit Leerwert vergleichen, dann ggF. rauswerfen oder die entsprechenden Abschnitte gleich restlos entfernen, wenn Quellwerte leer sind.