2010-07-18 101 views
5

我已經下下的其他類似的txt與電子郵件地址文件內容:PHP爆炸新行要從一個txt文件

[email protected] 
[email protected] 

到目前爲止,我設法與

 $result = file_get_contents("tmp/emails.txt");
打開它,但我不知道要得到數組中的電子郵件地址。基本上我可以使用爆炸,但我如何劃定新線? 在此先感謝您的任何答案!

+1

下面的答案是理想的;但僅供參考,您可以使用以換行符表示的爆炸,表示爲\ n。 (根據您使用的是Windows還是Linux,這也可能是\ r \ n)。 – user11977 2010-07-18 09:14:54

回答

25

只需使用file()讀取文件,就會得到一個包含文件每一行的數組。

$emails = file('tmp/emails.txt'); 

爲了不附加新行到每個電子郵件地址,使用FILE_IGNORE_NEW_LINES標誌,並且跳過空行,使用FILE_SKIP_EMPTY_LINES標誌:

$emails = file('tmp/emails.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 

在做第二例子的var_dump($emails)給出了這樣的:

array(2) { 
    [0]=> 
    string(13) "[email protected]" 
    [1]=> 
    string(14) "[email protected]" 
} 
+1

雖然這可行,但它不考慮基於窗口的新行。使用preg_split工作更可靠。 – Jubair 2013-05-30 14:54:56

2

看起來很瘋狂,在一個雙引號內做returnenter"")劃定換行符。要清楚,鍵入:

explode("", "Stuff to delimit"); 

,只是打在""中間的回報,讓您得到:

explode(" 

", "stuff to delimit"); 

和它的作品。可能非傳統,可能只能在Linux上工作。但它的工作。

4
$lines = preg_split('/\r\n|\n|\r/', trim(file_get_contents('file.txt')));