Heim > Artikel > Backend-Entwicklung > Warum ersetzt „nl2br()“ keine Zeilenumbrüche in meinem PHP-Code?
Ersetzen von Zeilenumbrüchen durch HTML-Zeilenumbrüche
Beim Versuch, Zeilenumbrüche oder RN-Zeichen durch HTML-Zeilenumbrüche zu ersetzen, führen einige gängige Methoden möglicherweise nicht zum Erfolg die gewünschten Ergebnisse, insbesondere beim Umgang mit doppelten Zeilenumbrüchen (rr).
Problem und Untersuchung:
Die ersten Versuche umfassten die Verwendung von preg_replace(), str_replace() und nl2br(). Allerdings blieben die Zeilenumbrüche bestehen, was die Frage aufwirft, ob doppelte Zeilenumbrüche das Problem verursacht haben.
Lösung und Erklärung:
Die Funktion nl2br() sollte zum Einfügen von Zeilenumbrüchen ausreichen vor neuen Zeilenzeichen. Wenn dies jedoch nicht funktioniert, stellen Sie sicher, dass der verarbeitete Text in doppelte Anführungszeichen gesetzt wird.
Beispiel:
<code class="php">// Won't work $desc = 'Line one\nline two'; // Should work $desc2 = "Line one\nline two"; echo nl2br($desc); echo '<br/>'; echo nl2br($desc2);</code>
Zusätzliche Erkenntnisse:
Einfache Anführungszeichen interpretieren Escape-Sequenzen nicht wie n, doppelte Anführungszeichen hingegen schon. Daher kann die Verwendung von einfachen Anführungszeichen für den Text den Ersetzungsprozess behindern.
Das obige ist der detaillierte Inhalt vonWarum ersetzt „nl2br()“ keine Zeilenumbrüche in meinem PHP-Code?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!