PHP實現html源碼中斷行符號換行輸出

來源:互聯網
上載者:User

知識擴充

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

用雙引號(")定義字串,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()顯示的一個數字,這個數字表示字串的長度

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.