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?


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

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


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');

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.