PHP'de echo içinde bir satır sonu nasıl eklenir? [kapalı]


92

Bir cümle için satır sonu eklemeye çalışıyordum ve /n aşağıdaki kodu ekledim .

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;

Bazı nedenlerden dolayı, sonuç olarak sunucu hatası aldım. Nasıl düzeltirim?


4
ters eğik çizgi kullanın, bu doğru şekilde kaçan karakter değil \n. Ancak sunucu hatası bu denemeyle ilgili değil, apache günlüğüne bakın ve __(arg)dokümanı kontrol edin
Marek Sebera

1
Stackoverflow'a hoş geldiniz. Lütfen herhangi bir soru göndermeden önce onaylamanız gereken sorma tavsiyesine uyun . Sadece sizin bir şeyi istediğinizi ve kendinize nasıl programlandığını sormanızın bir programlama sorusu olarak nitelendirilmediğini unutmayın.
hakre

Yanıtlar:


255

\nsatır sonu. /ndeğil.


kullanımı \nile

1. doğrudan sayfaya yankı yapın

Şimdi, dizeyi sayfaya yankılamaya çalışıyorsanız:

echo  "kings \n garden";

çıktı :

kings garden

gardenPHP sunucu tarafı bir dil olduğu için yeni satıra girmeyeceksiniz ve çıktıları HTML olarak gönderiyorsunuz, HTML'de satır sonları oluşturmanız gerekir. HTML anlamıyor \n. Bunun için nl2br()işlevi kullanmanız gerekir .

Ne yaptığı:

Dizeyi tüm yeni satırlardan önce gelen <br />veya <br>önce gelen (\ r \ n, \ n \ r, \ n ve \ r) döndürür .

echo  nl2br ("kings \n garden");

Çıktı

kings
garden

Not\n Çift tırnak içinde yankıladığınızdan / yazdırdığınızdan emin olun , aksi takdirde tam anlamıyla \ n şeklinde işlenecektir. çünkü php yorumlayıcı dizeyi olduğu gibi kavramı ile tek tırnak içinde ayrıştırır

so "\n" not '\n'

2. metin dosyasına yaz

Şimdi, metin dosyasına yankılanırsanız, sadece kullanabilirsiniz \nve yeni bir satıra yankılanır, örneğin:

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

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

çıktı:

kings
 garden

1
Yukarıdakilere değinerek. Bu çalışır - örnek -> echo "<html>". "\ N"; veya echo "krallar bahçesi". "\ n"; bu, ilk satırdan sonra bir satır sonu ekler. Yankıdan sonra satır sonu eklemek istediğimde Google beni buraya yönlendirdi.
MarcoZen

18

Echo kullanırken br kullanmanız gerekir, şöyle:

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

ve düzgün çalışacak


1
Bu html belgeleri için işe yaramayacak
MarcoZen

1
Eğer bir php / sunucu tarafı dil dosyasında bunları dile getirdiği de bu alışkanlık iş
MarcoZen

13

Yeni satır karakteri şuna \nbenzer:

echo __("Thanks for your email.\n<br />\n<br />Your order's details are below:", 'jigoshop');

Önek __(iki alt çizgi) nedir?
Peter Mortensen

1
@PeterMortensen Bazı PHP çerçevelerinde uluslararasılaşmayı desteklemek için bir işlevdir. Orijinal gönderi onu kullandı, bu yüzden cevabıma ekledim.
noetix

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.