2012-10-26 94 views
1

比方說,我有這個變量:PHP新線: N不工作

$Include = "Line 1; 
      //some Line 2 here"; 

,我想寫一個變量插入文件,並得到完全相同2號線這樣的:

Line1; 
//some Line 2 here 

但當我嘗試通過使用此代碼來做到這一點:

$Filename = 'somefile.php'; 
$Handle = fopen($Filename, "r"); 
$Contents = fread($Handle, filesize($Filename)); 
fclose($Handle); 

$Contents = str_replace ('replace this', $Include, $Contents); 

我只看到這樣一行:

Line 1; //some Line 2 here 

如何讓2行使用1個變量?感謝

+1

'$ Include =「第1行; \ n //某行第2行」;'? – j08691

+0

你確定somefile.php正在寫入正確嗎?當您用另一個文件查看程序打開它時,它看起來像什麼? –

回答

3

試試這個:

$Include = "Line 1; \r\n" . 
      "  //some Line 2 here"; 
+0

那很有可能'\ n'已經在那裏,只有'\ r'丟失了。保重。但也許這是一箇舊的MAC和'\ n'丟失?誰知道,最好不要教育OP。 – hakre

+0

@尼古拉斯:它的作品兄弟!謝謝你\ r \ n ...我必須等3分鐘才能接受你的回答... –

+0

@RobertHanson我很高興你解決了它。 –

0

你必須給\n添加到您的字符串看到一個換行符。我在上面的例子中沒有看到任何內容。 $Include = "Line 1;\n//some Line 2 here";

+0

我做到了。通過使用/ n,它不起作用,這就是爲什麼我刪除它。 –

+0

你必須確保你把它放在雙引號中而不是單引號。 –

5

如果使用echo作爲html內容顯示內容,則需要使用nl2br()函數。

echo nl2br($file_content); 

此功能將所有\ n轉換爲<br /> html標記,它將按照預期顯示在html頁面上。