Hallo!
Du hast recht! Im Quelltext wird der Code richtig angezeigt! Nur auf dem Bildschirm eben nicht, was wahrscheinlich am fehlenden HTML Code liegt.
Da dein Server die Seite wahrscheinlich mit Mime Type "text/html" ausliefert, erwartet der Browser HTML Code. Und beim Interpretieren von HTML Code wird \n halt nicht als Zeilenumbruch dargestellt.
Du kannst aber den Server auch dazu bringen deine Datei als text/plain auszuliefern, dann sollte dein Browser auch die \n korrekt darstellen.
In PHP kannst du den Mime Type mit der Funktion header festlegen.
mfg
frafu