次のスクリプトは、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";
}
\nHTMLでは、ブラウザは改行を表示しません。ソースコードを見ると、それらが表示されているのがわかります。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>";
}
これがうまくいかない場合は、いつでもpreHTMLタグを使用できます。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>ことです。これは、現在行っていることのように空白と改行を評価します。