Bagaimana cara menambahkan jeda baris dalam gema di PHP? [Tutup]

92

Saya mencoba menambahkan jeda baris untuk sebuah kalimat, dan saya menambahkan /n kode berikut.

echo "Thanks for your email. /n  Your orders details are below:".PHP_EOL;
echo 'Thanks for your email. /n  Your orders details are below:'.PHP_EOL;

Untuk beberapa alasan, saya mendapat kesalahan server sebagai hasilnya. Bagaimana saya memperbaikinya?

jumax
sumber
4
gunakan garis miring terbalik, ini bukan karakter escape dengan benar \n. Tetapi kesalahan server tidak terkait dengan percobaan ini, lihat log apache dan periksa __(arg)dokumen
Marek Sebera
1
Selamat datang di Stackoverflow. Harap ikuti saran yang perlu Anda konfirmasikan sebelum memposting pertanyaan apa pun . Ingatlah bahwa hanya Anda yang menginginkan sesuatu dan Anda bertanya pada diri sendiri bagaimana program itu diprogram tidak memenuhi syarat sebagai pertanyaan pemrograman itu sendiri.
hakre

Jawaban:

255

\nadalah jeda baris. /ntidak.


penggunaan \ndengan

1. echo langsung ke halaman

Sekarang jika Anda mencoba menggemakan string ke halaman:

echo  "kings \n garden";

keluarannya adalah:

kings garden

Anda tidak akan mendapatkan gardenbaris baru karena PHP adalah bahasa sisi server, dan Anda mengirimkan keluaran sebagai HTML, Anda perlu membuat jeda baris dalam HTML. HTML tidak mengerti \n. Anda perlu menggunakan nl2br()fungsi untuk itu.

Apa yang dilakukannya adalah:

Mengembalikan string dengan <br />atau <br>disisipkan sebelum semua baris baru (\ r \ n, \ n \ r, \ n dan \ r).

echo  nl2br ("kings \n garden");

Keluaran

kings
garden

Catatan Pastikan Anda menggema / mencetak \ndalam tanda kutip ganda, jika tidak maka akan diterjemahkan secara harfiah sebagai \ n. karena php interpreter mengurai string dalam kutipan tunggal dengan konsep apa adanya

so "\n" not '\n'

2. menulis ke file teks

Sekarang jika Anda menggemakan ke file teks, Anda dapat menggunakan hanya \ndan itu akan bergema ke baris baru, seperti:

$myfile = fopen("test.txt", "w+")  ;

$txt = "kings \n garden";
fwrite($myfile, $txt);
fclose($myfile);
 

keluarannya adalah:

kings
 garden
NullPoiиteя
sumber
1
Mengutip di atas. Ini berfungsi - contoh -> echo "<html>". "\ N"; atau gema "taman raja". "\ n"; yang menambahkan jeda baris setelah baris pertama. Google membawa saya ke sini ketika saya ingin menambahkan jeda baris setelah gema.
MarcoZen
18

Anda harus menggunakan br saat menggunakan echo, seperti ini:

echo "Thanks for your email" ."<br>". "Your orders details are below:"

dan itu akan bekerja dengan baik

Maryam Homayouni
sumber
1
Itu tidak akan berhasil untuk dokumen html
MarcoZen
1
Itu tidak akan berfungsi ketika Anda menggemakannya dalam file bahasa sisi php / server
MarcoZen
13

Karakter baris baru adalah \n, seperti:

echo __("Thanks for your email.\n<br />\n<br />Your order's details are below:", 'jigoshop');
noetix
sumber
Apa prefiksnya __(dua garis bawah)?
Peter Mortensen
1
@PeterMortensen Ini adalah fungsi dalam beberapa kerangka kerja PHP untuk mendukung internasionalisasi. Posting asli menggunakannya, itulah sebabnya saya menambahkannya ke jawaban saya.
noetix
2

Anda mungkin ingin mencoba \ r \ n untuk carriage return / line feed

Jonathan
sumber
Masalahnya tampaknya menjadi miring, /nvs \n.
Peter Mortensen