我一直在努力使用PHP換行符。我同意以下事實:PHP_EOL提供了一個基於OS的平臺中性換行符(\ r,\ r \ n,\ n),我們可以充分利用這一點。爲什麼PHP_EOL在每行的末尾寫入 r n
我正在使用XAMPP在我的Mac OS(Yosemite)中執行一個簡單的PHP文件讀寫操作。
以下是我寫入文件的代碼。
$handle = fopen("test.txt", "a+");
$data = "Hello World." . PHP_EOL;
fwrite($handle, $data);
該文件中的輸出如下給出。
Hello World.\r\n
注意:我用fwrite()和file_get_contents()都測試過了。沒有區別。
我的問題是:在通過使用PHP_EOL寫入文件寫入文件時,爲什麼它在行尾寫入\ r \ n?
我通過調用nl2br()函數插入換行符(HTML換行符)沒有問題。但是,由於這個字符,我的HTML輸出有這個\ r \ n字符!
我一直在玩弄很多不同的選擇,如下
$line = str_replace("\r\n","<br/>",$line); // Does NOT work!
$line = preg_replace('~\r?\n~','<br/>', $line); // Works as that of nl2blr()!
$line = str_replace(PHP_EOL, "<br/>",$line); // Works as that of nl2br()!
上方插入該選項的HTML換行符但沒有刪除這個「\ r \ n」從實際的文字!
我通過手動輸入幾行來測試(顯然沒有\ r \ n),並且此讀取方法在沒有任何\ r \ n的情況下完美運行。因此,我認爲{PHP_EOL +文件寫入方法}可能是罪魁禍首!
我真的很困惑我錯過了什麼?
任何幫助將不勝感激。
在此先感謝。
爲什麼有人投下了這個問題? – itsraghz