2010-07-18 69 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')));