Yeni satır karakteri iyi nedir?

13 Cevap php

Ben gerçekten alamadım: Yeni bir satır karakter amacı nedir?

Eğer bunu yaparsam:

<?php
echo "This is a test. \n";
echo "This is another test.";
?>

Aynı çizgide olmak hem cümle Kod sonuçları. Neden \ n ikinci cümlesi, ikinci satırda olmak neden değil?

Ben yaparsam cümleler, bu kendi doğrultusunda her biri:

<?php
echo "This is a test. <br>";
echo "This is another test.";
?>

Ama aynı zamanda insanlar bunu gördük:

<?php
echo "This is a test. <br>\n";
echo "This is another test.";
?>

Hangi esas olarak, ikinci kod parçası ile aynı çıktı ile sonuçlanır. Bu açıklamaya Birisi bakım?

13 Cevap

HTML standard <br> etiketi var neden sadece başka beyaz boşluk karakteri olarak bir satır sonu davranır. Bir çizgi, bir <pre> etiketi veya white-space:pre CSS stil ile bir öğenin içinde çalışacaktır ancak unutmayın.

Üçüncü örnek sadece "güzel" HTML yapmaktır: o kadar "kaynağı" daha kolay hale getirir ve gözle kontrol edin. Aksi takdirde, HTML bir büyük uzun dize var.

Görüldüğü gibi yeni bir satır oluşturmak için farklı yollar vardır.

<br />

this is not a new line character, this is an XHTML tag which means, it works in XHTML. correctly speaking it is not a new line character but the tag makes sure, one is inserted = it forces a line break. closing tag is mandatory.

XHTML specs


<br>

Bu bir satır sonu zorlar bir HTML etiketi. kapanış etiketi yasaktır.

HTML 4.1 specs


\n

ASCII yeni çizgi karakter LF için bir kaçış dizisidir. Satırları sona erdirmek için ASCII CR + LF kullanımını öngören bir internet protokolü kullanarak iletişim yaygın bir sorun '\ n' kullanımıdır. Bir metin modu akışına '\ n' Yazmak, Windows sistemlerinde düzgün çalışır, ancak Unix LF, ve daha egzotik sistemleri tamamen farklı bir şey üretir. Kullanma "\ r \ n" birçok ASCII-uyumlu sistemler üzerinde çalışır, ancak yine de genel durumda başarısız gibi ikili modunda, biraz daha iyidir. Bir yaklaşım ikili modunu kullanmak ve doğrudan "\ x0D \ X0A" kontrol dizisinin sayısal değerlerini belirtmek için.

read more


PHP_EOL

Doğru sistem bağımlı yeni bir çizgi yerine bir php yeni bir çizgi sabittir.

böylece mesajı doğru yer her şeyi kullandık.

<br> Sana kullanıcının görünümünde yeni bir çizgi verir; \n size kaynak kodunda yeni bir hat, yani verecektir. geliştirici görünümü.

Html işlendiğinde, sadece "<br />" satır ara vermektedir. Her şey uzun bir çizgide değildir böylece Ancak biçimlendirme, "<br />\n" basılıyor zaman okumak için çok daha kolaydır.

\n kod tabanlı

<br /> HTML etiketi tabanlı olduğunu

Ikisi arasında net bir ayrım vardır.

Senin sorunun html işlenir yoludur. Eğer kaynak kodu bakarsanız, ilk örnek ayrı satırlarda iki satır olacak, ancak tarayıcı gösterilmesi gereken tatili gibi satır sonları görmüyor. Bu, kaynağında uzun bir paragraf olmasını sağlar:

rghruio grgo rhgior hiorghrg hg rgui  
ghergh ugi rguihg rug hughuigharug 
hruauruig huilugil guiui rui ghruf hf 
uhrguihgui rhguibuihfioefhw8u 
beruvbweuilweru gwui  rgior

Tarayıcısı doğru satır uzunluğunda kolayca düzenlenebilir olmasını sağlayan, onu gerekli, ama herhangi bir çözünürlükte görüntülenir olarak sadece örtecek.

HTML kaynak kodunda yeni hatlar umurumda değil, tek satırda tüm koyabilirsiniz. Sadece yeni bir satır olarak <br /> yorumlayacaktır. Gerçi HTML-çıkış güzelleştirmek için bir \ n kullanmanız gerekir, ama daha iyi bir yolu PHP ile o çıkış değil, HTML kendisi kullanmak ve sadece bu gibi, bunun içine PHP şeyler embed:

<ul id="menu">
    <?php foreach ($menu_items as $item): ?>
    <li>
        <a href="<?= htmlspecialchars($item['link']) ?>" title="<?= htmlspecialchars($item['title']) ?>">
            <?= htmlspecialchars($item['title']) ?>
        </a>
    </li>
    <?php endforeach; ?>
</ul>

Bu şekilde PHP içinde biçimlendirme ile uğraşmak zorunda değil, ancak automagicallylar HTML, tasarım, o var. Ayrıca, bu gibi birbirinden Model-View-mantık ve mantık kalkanlara ve HTTP Sunucusu ziyade PHP motoru çıkışını bırakın.

HTML oluşturma ve bir tarayıcıda görüntülemek ve boşluk daha fazla ya da daha az olduğu göz ardı edilir çünkü budur. On alanlarda bir boşluk daha büyük bir boşluğu üretmek değil, ama o boşluk karakteri çalışmıyor anlamına gelmez. text/plain için içerik türünü ayarlayarak deneyin veya yeni satır etkisini görmek için HTMLs kaynağına bakmak.

Olurdu için doğru XHTML sözdizimi

echo "This is the test code <br />\n";

<br /> yeni bir satır ekranda, "\ n" işler kaynak coed yeni bir satır işler

Yeni satır karakteri böyle bir PDF gibi, aksi takdirde yararlıdır. Başkalarının söylediler yeni satır karakteri çok az HTML ile yapmak olduğunu haklısınız, başka bir uzayda bir karakter olarak değerlendirilir. Bu <pre> etiketi içinde yararlı olsa da. Ayrıca, daha kolay okunmasını sağlamak için HTML çıkışı biçimlendirmek için kullanılabilir. (1000 karakter genişliğinde bir dize HTML bir parça bulmak için biraz can sıkıcı.)

Veritabanındaki verileri saklarken, yeni satır karakteri de yararlıdır. Genellikle bunu (PDF gibi, yine) diğer formatlarda rahatlıkla kullanılabilir, böylece bu tür <br /> gibi HTML özel karakter olmadan veri depolamak istiyor. Çıkışı üzerinde, <br /> s yeni hatlar dönüştürmek için nl2br() işlevini kullanmak istiyorum.

Olan yeni satır karakteri string fonksiyonları için yararlıdır.

Örneğin:

   explode( '\n' , $input );

Yeni bir hat ile bir dize bölmek istiyorsunuz.

str_replace( '\n' , '<br />' , $input );

Br etiketi ile $ input her yeni satır yerini alacak.

PHP bir CLI var, \ n biçimlendirme için yararlıdır Ayrıca, çünkü:

örn.

echo 'Hello world';

Olur, CLI, çıktı;

Merhaba worldphp>

echo 'Hello world' . "\n";

çıkışı olur;

Hello world
php>

Web tabanlı komut dosyaları yazarken de kullanım alanı vardır rağmen, bir web motoru daha fazla zihin PHP tutmak; o da br etiketi yararsız bir CLI vardır.

Eğer komut satırından bir komut dosyası çalıştıran eğer <br /> da hiçbir işe yaramaz.

$ php -f file.php
Output <br />$

Ben de birçok kişi PHP'nin komut satırından kullanmak değil biliyorum, ama bu kadar geliyor:

file.php:

<?php
print "Output\n";
?>

Komut satırında:

$ php -f file.php
Output
$