Rumah > Artikel > pembangunan bahagian belakang > Mengapakah fungsi `nl2br()` saya tidak menggantikan baris baharu dengan ``?
Menggantikan Baris Baharu atau rn dengan
: Panduan Penyelesaian Masalah
Berusaha untuk menggantikan baris baharu dengan
, anda mencuba pelbagai pendekatan menggunakan preg_replace(), str_replace(), dan nl2br() tetapi menghadapi tingkah laku yang tidak dijangka. Menganggap baris baharu berganda (rr) sebagai punca kegagalan yang tidak mungkin, anda meminta penjelasan.
Penyelesaian:
Seperti yang diserlahkan dalam respons, kaedah yang disyorkan untuk menukar baris baharu kepada
sedang menggunakan fungsi nl2br(). Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ia memasukkan
tanda nama sebelum aksara baris baharu, bukan menggantikannya.
Contoh:
<code class="php">// Will not work $desc = 'Line one\nline two'; // Should work $desc2 = "Line one\nline two"; echo nl2br($desc); echo '<br />'; echo nl2br($desc2);</code>
Pertimbangan Tambahan:
Jika nl2br( ) masih gagal untuk beroperasi seperti yang dimaksudkan, sahkan bahawa teks $desciption disertakan dalam dua kali ganda petikan.
Sebab:
Petikan tunggal tidak mengembangkan urutan pelarian, seperti n, manakala rentetan petikan dua. Percanggahan ini boleh membawa kepada tingkah laku yang tidak dijangka.
Petikan Dokumentasi:
"Nota: Tidak seperti sintaks petikan dua kali dan heredoc, pembolehubah dan urutan pelarian untuk aksara khas tidak akan dikembangkan apabila ia berlaku dalam rentetan petikan tunggal."
Atas ialah kandungan terperinci Mengapakah fungsi `nl2br()` saya tidak menggantikan baris baharu dengan ``?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!