11

我在另一个下面有带有电子邮件地址的 txt 文件,例如:

test@test.com
test2@test.com

到目前为止,我设法打开它

$result = file_get_contents("tmp/emails.txt");
但我不知道如何获取数组中的电子邮件地址。基本上我可以使用explode,但我如何界定新行?提前感谢您的任何回答!

4

3 回答 3

31

只需使用读取文件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) "test@test.com"
  [1]=>
  string(14) "test2@test.com"
}
于 2010-07-18T09:08:17.250 回答
9
$lines = preg_split('/\r\n|\n|\r/', trim(file_get_contents('file.txt')));
于 2013-05-06T10:44:44.707 回答
2

看起来很疯狂,在双引号 ( ) 中使用returnor来分隔换行符。为了清楚起见,请输入:enter""

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

只需在 中间点击 return "",就可以得到:

explode("

", "stuff to delimit");

它有效。可能非常规,并且可能仅适用于 Linux。但它有效。

于 2012-10-16T20:17:08.983 回答