2017-07-16 38 views
-1

當我測試下面的代碼PHP7中新行的轉義字符( n)無法在我的web服務器上運行?

s$stringOne="This is what the \n escape characters are \n in it"; 
    echo $stringOne; 

    $strong3="testing the escape characters $100 's \n $stringOne ";nippet it doesn't show on new line 
+0

你好,歡迎來到StackOverflow。請花一些時間閱讀幫助頁面,尤其是名爲[「我可以詢問什麼主題?」(http://stackoverflow.com/help/on-topic)和[「我應該問什麼類型的問題避免問?「](http://stackoverflow.com/help/dont-ask)。更重要的是,請閱讀[Stack Overflow問題清單](http://meta.stackexchange.com/q/156810/204922)。您可能還想了解[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – herrbischoff

回答

0

它最有可能不會正常工作。但是,如果您在瀏覽器中查看結果,它將被解釋爲HTML,並且HTML會像空格一樣在文本中對待換行符,因此您不會在頁面源代碼之外看到這些換行符。

如果您想在HTML中換行,您需要使用<br>元素。它們可以像這樣使用:

$stringOne = "This is what the <br>\n escape characters are <br>\n in it"; 
echo $stringOne; 

您也可以讓PHP添加<br>元素爲你的nl2br功能,如:

$stringOne = "This is what the \n escape characters are \n in it"; 
echo nl2br($stringOne); 

在HTML中的另一種選擇是把你的文字裏面<pre>元素,這使瀏覽器顯示換行符和其他空格,因爲它們出現在源代碼中。例如:

$stringOne = "<pre>This is what the \n escape characters are \n in it</pre>"; 
echo $stringOne; 

如果您的輸出不作爲HTML,你實際上意味着它以純文本格式,你需要告訴瀏覽器與header('Content-Type: plain/text,charset=UTF-8');在你的PHP腳本的頂部:

<?php 
header('Content-Type: plain/text,charset=UTF-8'); 
$stringOne = "This is what the \n escape characters are \n in it"; 
echo $stringOne; 
相關問題