Hi hofi,
Das Problem ist die Formatierung von highlight_syntax(), das hängt nämlich an jede Codezeile ein Newline _und_ ein Break an. Und wenn du dann mit nl2br() die Newlines durch Breaks ersetzt, hast du zwei Breaks hintereinander.
Ein Möglicher Workaround ist [...]
... einfach das nl2br() wegzulassen?
Viele Grüße aus Freiburg,
Marian