Witam,
poniższy kod ma zamieniać znaki nowej linii (\n) na -n, za wyjątkiem \\n.
Kod
   $zmienna = 'Jakaś tam sobie zmienna\nTo jest nowa linia\\n A to już nie :P';
   echo ereg_replace('[^\\\\]\\\\n', '-n', $zmienna);

Rzecz w tym, że każy \ mnoży, tzn. zwraca coś takiego:
Kod
Jakaś tam sobie zmienna\\nTo jest nowa lini-n A to już nie :P

I na dodatek obcina jeden znak przed \\n. A ma wyjść:
Kod
Jakaś tam sobie zmienna-nTo jest nowa linia\\n A to już nie :P

Jak to poprawnie zrobić?