次のスクリプトは、array
名前付きのからの文字列を出力しますarr
。からのエコーの後、arr
を使用して改行を挿入しようとしました\n
が、表示されません。何故ですか ?
<?php
$arr = array("ghazal","shayari","silence","hayaat");
echo $arr[0];
echo $arr[1];
foreach($arr as $var) {
echo $var;
echo "\n";
}
次のスクリプトは、array
名前付きのからの文字列を出力しますarr
。からのエコーの後、arr
を使用して改行を挿入しようとしました\n
が、表示されません。何故ですか ?
<?php
$arr = array("ghazal","shayari","silence","hayaat");
echo $arr[0];
echo $arr[1];
foreach($arr as $var) {
echo $var;
echo "\n";
}
\n
HTMLでは、ブラウザは改行を表示しません。ソースコードを見ると、それらが表示されているのがわかります。PHP関数<br>
を使用するnl2br
か、スクリプトを次のように変更することで、これらを変換できます。
<?php
$arr = array("ghazal","shayari","silence","hayaat");
echo $arr[0];
echo $arr[1];
foreach($arr as $var) {
echo $var;
echo "\n";
}
これに:
<?php
$arr = array("ghazal","shayari","silence","hayaat");
echo $arr[0];
echo $arr[1];
foreach($arr as $var) {
echo $var;
echo "<br>";
}
これがうまくいかない場合は、いつでもpre
HTMLタグを使用できます。pre
タグは\n
改行を保持し、それらを表示します。
これが役立つ場合は、この質問の横にあるチェックをクリックして、この回答に正解のマークを付けてください。
ありがとう。:)
HTMLは、任意の数のすべての空白文字を同じように扱います。
つまり、以下はすべてブラウザ内の単一のスペースとしてレンダリングされます。
echo "\n";
echo "\t";
echo " ";
echo " \n\n\n ";
HTMLで実際のリンクブレークをレンダリングするには、<br>
ドキュメントに要素を挿入する必要があります。
おそらく、PHPスクリプトは、Webブラウザで表示されるHTMLを生成しています。そして、私たちが知っているように、HTMLの余分な空白は画面に表示されません。
プレーンテキスト()を生成するか、HTMLで改行をレンダリングするもの(例)header("Content-type: text/plain")
の代わりに出力します。'\n'
<br />
これはうまくいくはずです
foreach($arr as $var) {
echo $var;
echo "<br />";
}
HTMLセクション<br />
では改行が機能するため\n
、ブラウザ側からHTMLのソースコードを表示したときにも機能し、改行が表示されます。
改行はHTMLで。を使用してレンダリングされるため<br />
です。代わりにこれを行ってください。
foreach($arr as $var) {
echo $var, '<br />';
}
別の方法は、出力をでラップする<pre></pre>
ことです。これは、現在行っていることのように空白と改行を評価します。