Wie entferne ich Zeilenumbrüche (keine Zeichen!) Aus dem String?

Dies scheint ein Betrug zu sein, aber seien Sie versichert, dass dies nicht der Fall ist. Ich habe sowohl SO als auch den Rest des Webs nach einer Antwort auf mein Problem durchsucht und immer wieder die gleichen unzureichenden "Lösungen" gefunden. Wie auch immer, hier geht es:

Ich speichere Benutzereingaben aus einem Textbereich in eine MySQL-Datenbank (in einer WordPress-Umgebung, aber ich glaube, das sollte für dieses Problem keine Rolle spielen). Es wird später aus der Datenbank abgerufen, um Admins im Backend der Site angezeigt zu werden. Das Problem tritt auf, wenn Benutzer Text mit Zeilenumbrüchen senden (d. H. Die Eingabetaste drücken).

Eine Beispielzeichenfolge könnte folgendermaßen aussehen:

Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!

Greetings,
Bill

Die Zeichenfolge enthält keine Zeilenendezeichen ("\ n", "\ r" oder dergleichen).

ich benutzenl2br() darauf, HTML-Ausgabe zu generieren, aber das ist nicht genug. Das Ergebnis ist dann:

Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br />
<br />
Greetings,<br />
Bill

Welches, soweit ich es verstehe, ist die erwartetenl2br() resultieren, da dies die Tags einfügt und die Zeilenumbrüche nicht ersetzen soll?

Das Format, das ich benötige, wäre jedoch folgendes:

Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br /><br />Greetings,<br />Bill

Wenn die Zeichenfolge EOL-Zeichen wie "\ n" enthält, würde ich sie mit beiden treffenstr_replace() oderpreg_replace() und fertig damit, aber ich habe keine Ahnung, welche Nadel für eine dieser Funktionen verwendet werden soll, wenn überhaupt keine Zeichen vorhanden sind.

Ich kann manuell auf das relevante Feld in der Datenbank zugreifen, für jeden Zeilenumbruch die Rücktaste drücken und was ich später mit der Zeichenfolge machen möchte, funktioniert. Also weiß ich, dass ich das obige Format brauche.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage