2017-07-18 70 views
0

我有這樣的代碼:PHP的fwrite功能新線

//This line is for the input that i've looped above my code, it's a URL 
$textAr[$i] = str_replace("\r\n","", $textAr[$i]); 

//This is for implode purposes 
$finalArray = array($textAr[$i], $m1, $m2, $m3, $m4, $m5, $m6); 

//When i echo this variable, $test, the URL is in the line along with the implode arrays 
$test = implode($finalArray, "***"); 
echo $test."\n"; 

//This is for writing into my text file 
fwrite($sitesTxt, implode($finalArray, "***")."\n"); 

我有那種錯誤的地方後,我輸入3個網址,第一和第二URL都有新的生產線後,我在文件中寫,但我輸入的最後一個URL與內部陣列一致。我甚至修剪了$ textArr,但我不斷收到新的內容。

預期輸出:

https://docs.google.com***false***false***false***false***false***false*** 
https://stackoverflow.com***false***false***false***false***false***false*** 
https://stackexchange.com***false***false***false***false***false***false*** 

輸出I在txt文件讓我:

https://docs.google.com 
***false***false***false***false***false***false*** 
https://stackoverflow.com 
***false***false***false***false***false***false*** 
https://stackexchange.com***false***false***false***false***false***false*** 
+0

發表您的完整代碼,請(包括循環,例如數據) – vietnguyen09

+0

你能告訴我什麼是'$ textArr [$ i]'?你可以迴應它嗎?或者只是給出示例數據 –

+0

我的代碼是垃圾。這是爲了noobs。無論如何,我已經接受RichGold的解決方案,它爲我工作。謝謝! –

回答

1

根據你的系統,你的行可能不與\ r \ n組合結束,但也許只是\ r。

我建議要麼改變str_replace函數來:

$textAr[$i] = str_replace(array("\r","\n"),"", $textAr[$i]); 

或者,改變數組:

$finalArray = array(trim($textAr[$i]), $m1, $m2, $m3, $m4, $m5, $m6); 

再者,雖然它會工作,你破滅的參數被顛倒:

$test = implode("***", $finalArray); 
+0

我已經添加了修剪,就像你說的,它完美的作品。謝謝! –

+0

歡迎您! – RichGoldMD

0

您應該使用PHP_EOL常量作爲'break-line'字符。由於DOS中的折線字符是\r\n,但在* nix中,它只是\n。 所以,你更換行頭

$textAr[$i] = str_replace(PHP_EOL, '', $textAr[$i]);