dedlfix: Wenn keine Daten, dann bitte ausblenden

Beitrag lesen

Tach!

<?php echo nl2br(htmlspecialchars($beschreibung)); ?>
Finde ich etwas unlogisch, warum von innen nach außen.

Unlogisch wäre es andersrum. Aber es ist nicht so sehr das Innen und Außen, was hier eine Rolle spielt, sondern die Reihenfolge, in der die Teilausdrücke ausgewertet werden müssen, damit deren Ergebnisse an den nächsten Verarbeiter weitergegeben werden kann.

function x($param) {
  ...
}

x(a + b);

Muss nun zuerst x() aufgerufen werden? Nein, erst muss a + b berechnet werden. Das Ergebnis muss an x() übergeben werden, denn die Funktion nimmt einen Wert entgegen, keinen Ausdruck, den sie selbst berechnet.

Und genauso ist es in deinem Fall nl2br() will einen Wert haben. Der kommt von htmlspecialchars(), und deshalb muss das zuerst aufgerufen werden.

dedlfix.