2011-10-28 18 views
6

Olası Çoğalt:
Why does PHP echo'd text lose it's formatting?PHP, New Line Çalışmıyor

Ben iş hakkını çalışması için yeni bir satır alınamıyor. Sadece bir satır olarak çıkıyor. Bunun gibi -

Make: Sony Model: a Processor: Intel Core 2 Duo 

Bu, ilgili bir e-posta mükemmel çalıştığı ama

echo $message; 

yaptığınızda sadece gelir olarak gönderilir bunun için kod ---

$message="Make: " . $_POST['make'] . "\r\n Model: " . $_POST['model'] . "\r\n Processor: " . $_POST['processor']; 

olduğunu Yukarıdaki gibi - hepsi bir satırda. Bu işi nasıl yapabilirim?

+0

İsmim rodger gibi görünüyor mu? lol - hayır, çoğaltılmamış. –

+0

@ user977229 Yine de bir dupe var. – middus

cevap

13

teşekkür

Sen muhtemelen bir web sayfası üzerine bu yankılanıyor.

Tarayıcılar, yeni satırlara uymaz (veya en azından olmamalıdır), bunun yerine HTML <br> etiketini kullanmanız gerekir.

bu deneyin: HTML kullanan yazdırmak istiyorsanız

echo str_replace(array("\r\n","\r","\n"),'<br>',$message); 
// or 
echo nl2br($message); 
+0

thankyou,
etiketini kodun içine nasıl ekleyebilirim? –

+0

yukarıdaki düzenle ... – DaveRandom

+1

cheers mate - çalıştım –

2

Eğer <br /> kullanabilir veya nl2br() işlevi kullanmak gerekir ya.

<br /> kullanma:

$message = 'Make: ' . $_POST['name'] . '<br />'; //... 

düz metin halini göndermek istiyorsanız

, uygun bir HTTP başlığı ayarlamak, örneğin

header('Content-Type: text/plain'); 

Çoğu tarayıcı bunu 'ham modda' görüntülemek için ipucu olarak kullanır.

3

HTML, yeni satırları yoksayar. Bunun yerine, <br />, <pre> veya <table> kullanmalısınız.

+0

Orijinal soru (sarky comment değil): '

' ?? Bu nasıl çalışıyor? – DaveRandom

+0

@DaveRandom Sadece metin biçimlendirme yerine tablo verilerini görüntülemek için bir tablo kullanın ?! – middus

+1

Doğru görüyorum. Özür dilerim, bunu bir masaya koymanın satır kırılmasını sağlayacağını söylüyordun. Dikkatini vermemek. +1. – DaveRandom