PHP, neden bazen "\ n veya \ r"

6 Cevap php

Eh, ben \ t gibi şeyler bu \ r kullanarak Abit kafamı karıştırdı, \ n. Ben çevrimiçi (php.net) okumak, çünkü işleri gibi görünüyor, ama bunu denemek, benim basit bir koddur:

<?php
    $str   = "My name is jingle \n\r";
    $str2  = "I am a boy";

    echo $str . $str2;
?>

Ama sonuç "Benim adım ben bir erkeğim jingle" dür

Ya ben yankı gibi, sonuç aynı var ya aynı çizgide \ r \ n koydu. Herkes bilir neden?

6 Cevap

Eğer bir tarayıcı çıktısı olduğundan, aksi <pre> etiketlerini çıktı sarın, yerine <br /> kullanmanız gerekir.

Deneyin:

<?php
    $str   = "My name is jingle <br />";
    $str2  = "I am a boy";

    echo $str . $str2;
?>

Veya:

<?php
    $str   = "My name is jingle \n\r";
    $str2  = "I am a boy";

    echo '<pre>' .$str . $str2 . '</pre>';
?>

Tarayıcılar <pre>serve non-HTML biçimlendirme olmaz sürece kullanarak <pre> açık - onlar sadece HTML ilgilendi.

Peki sizin örnekte sen var \n\r yerine \r\n - O nadiren iyi bir fikir.

Nerede bu sonucu görüyoruz? Bir web tarayıcısında? Bir sayfanın kaynak, halen bir web tarayıcısında? Hangi işletim sistemini kullanıyorsunuz? Tüm bunlar bir fark.

Farklı işletim sistemleri farklı hat sonlandırıcı kullanmak ve HTML / XML mutlaka bir çizgi değil (yani kelimeler arasında bir boşluk alırsınız sadece "boşluk" demek kaynağındaki satır sonları, satır kesme hakkında çok umurumda değil, ) bölünürler.

Ayrıca nl2br kullanabilirsiniz ():

echo nl2br($str . $str2);

Ne bu işlev yapar <br> için dize satır karakterleri değiştirin.

Ayrıca, sadece \ n, \ r gerekmez.

HTML, boşluklar, sekmeler, güçlüklerinden ve satırbaşları tüm eşdeğer beyaz boşluk karakterleri vardır.

Metinde, tarihsel olarak aşağıdaki kombinasyonlarını newlines kullanılmaktadır

  • \ Apple Mac'ler üzerinde r
  • Windows \ r \ n
  • \ Unix n

Kullanmak \n (* NIX) veya \r\n (DOS / Windows) ya, \ n \ r çok nadirdir. Bunu düzeltmek kez, sadece iyi çalışması gerekir.

HTML çıktısı konum eğer

  içeride sürece Tabii ki, bir satır sonu hiçbir şey yok etiketleri. 
Kullanın HTML satırları ayırmak için. nl2br() fonksiyonu satır gerekirse HTML tatili dönüştürmek için yardımcı olabilir.

Eğer tek tırnakla (sizin örnek, çift tırnak içinde dize gelmiştir) kullanıyorsanız Ayrıca, \ r \ n çalışmaz. Tek tırnak içindeki mevcut tek kaçış karakterleri \ 've \ vardır.

Eğer bir HTML sayfası sonuçları görüntüleniyor? eğer öyleyse, HTML şeritler satır gibi WHITESPACE. Sen '/>