萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP實現html源碼中回車換行輸出

PHP實現html源碼中回車換行輸出

 在源碼中輸入換行但是不顯示像br 之類的字符我們需要通過php地轉義字符來實現了,下文就一起來看看吧。

   

知識擴充

 

轉移序列 說明 n 換行 r 回車 t 水平制表符 [/td> 反斜線 $ 美元符號 " 雙引號 [0-7]{1,3} 此正則表達式序列匹配一個用八進制符號表示的字符 x[0-9A-Fa-f]{1,2} 此正則表達式序列匹配一個用十六進制符號表示的字符

 

用雙引號(")定義字符串,PHP 懂得更多特殊字符的轉義序列:


PHP默認頁面編碼為HTML,要使輸出的內容換行,必須使用HTML的換行標簽”<br>”或”<br />”
,當使用PHP做http api時,處理br標簽稍顯麻煩,此時可以指定PHP頁面編碼,使”\n”成功解析為換行.

 代碼如下 復制代碼
<?php
header("Content-type:text/txt; charset=gb2312");
for ($i=0; $i < 100; $i++) { 
    echo "string";  
    echo "\n";
?>

用浏覽器訪問,會直接顯示100行”string”.
也可以將頁面編碼聲明為

 代碼如下 復制代碼


header("Content-Type: plain/text; charset=gb2312");

此時用浏覽器訪問,會自動下載為文檔,用代碼下載沒有區別.

txt文件使用fwrite換行寫入時換行符不起作用

php的換行符我們都知道:\n ,回車符:\r,在需要換行時,通常是用“\r\n”這個組合。但是為什麼我們在使用fwrite寫入文件時\n換行符不起作用呢。我們先看下面這個例子:

 代碼如下  

<?php
$filename = 'file.txt';
$word = '你好!\r\n歡迎來到www.111cn.net';
$fh = fopen($filename, "a"); //w從開頭寫入 a追加寫入
echo fwrite($fh, $word);
fclose($fh);
?>

$word的字符串內加上了回車換行符“\r\n”,但是輸出結果並不是預期,這個回車換行符“\r\n”並沒有被解析為換行符,而是直接被當作一個字符輸出來了。

為什麼會出現這樣的情況呢?經研究,原來是單雙引號惹的禍!我們把$word定義字符串的單引號“'”換為雙引號“"”就可以了。正確的寫法如下:

 代碼如下  

<?php
$filename = 'file.txt';
$word = "你好!\r\n歡迎來到www.111cn.net";
$fh = fopen($filename, "a"); //w從開頭寫入 a追加寫入
echo fwrite($fh, $word);
fclose($fh);
?>

題外話,上述例子裡echo fwrite()顯示的一個數字,這個數字表示字符串的長度

copyright © 萬盛學電腦網 all rights reserved