以下腳本將打印名爲arr
的array
中的字符串。從arr
迴應後,我嘗試使用\n
插入換行符,但我沒有看到它。這是爲什麼 ?無法添加換行符。爲什麼這樣?
<?php
$arr = array("ghazal","shayari","silence","hayaat");
echo $arr[0];
echo $arr[1];
foreach($arr as $var) {
echo $var;
echo "\n";
}
以下腳本將打印名爲arr
的array
中的字符串。從arr
迴應後,我嘗試使用\n
插入換行符,但我沒有看到它。這是爲什麼 ?無法添加換行符。爲什麼這樣?
<?php
$arr = array("ghazal","shayari","silence","hayaat");
echo $arr[0];
echo $arr[1];
foreach($arr as $var) {
echo $var;
echo "\n";
}
HTML以相同的方式處理任何數字中的所有空格字符。
也就是說,下面將全部呈現在瀏覽器中一個空格:
echo "\n";
echo "\t";
echo " ";
echo " \n\n\n ";
爲了使實際linkbreak在HTML中,你需要一個<br>
元素插入到文檔中。
這應該工作
foreach($arr as $var) {
echo $var;
echo "<br />";
}
因爲在你的HTML部分<br />
工作換行符,當你從瀏覽器的一側時看到HTML源代碼的\n
也適用這表明你斷行
由於換行符以HTML格式呈現,因此使用<br />
。代之以做。
foreach($arr as $var) {
echo $var, '<br />';
}
另一種方法是來包裝<pre></pre>
輸出,其評估空格和換行像你現在在做什麼。
「HTML解析爲」
「的換行符實際上並不是英語,HTML是一種語言,它不解析任何東西,你可能會說」新行在HTML中被表示爲'
'「 –
meagar
而且這只是有條件的真的 –
我想這是相當笨拙的 - 更新我的答案 –
在HTML中,瀏覽器不顯示\n
換行符。如果您查看源代碼,您將看到它們顯示。您可以使用the nl2br
PHP function將它們轉換爲<br>
,或由該改變你的腳本:
<?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 tag 。 pre
標記保留\n
換行符,並使它們可見。
如果有幫助,請點擊此問題旁邊的複選框將此答案標記爲正確。
謝謝。 :)
如果你查看源代碼,你_will_看到它們顯示出來 –
@LightnessRacesinOrbit謝謝你指出。答案反映了這一點。 :) – 2013-01-18 03:54:27
推測您的PHP腳本正在生成在Web瀏覽器中查看的HTML。而且,正如我們所知,HTML中的無關空白不會在屏幕上呈現。
要麼產生純文本(header("Content-type: text/plain")
)或輸出,而不是'\n'
,一些呈現在HTML(例如<br />
)換行符。
'echo「
」' –
好問題!我以前有過這個問題,並使用echo $ var來解決它。 「
」; – lukeocom
這個問題每天都有一千個重複。不幸的是,他們都有這樣的垃圾標題,我找不到它們。:( –