我有一个包含多个电子邮件地址的文本文件,格式如下:
test@test.com test2@test.com
我已经用
$result = file_get_contents("tmp/emails.txt");成功打开了它,但不知道如何将这些电子邮件地址存储到一个数组中。实际上,我可以使用 "explode" 函数,但是如何分隔换行符呢?感谢您提前给出任何答案!
我有一个包含多个电子邮件地址的文本文件,格式如下:
test@test.com test2@test.com
我已经用
$result = file_get_contents("tmp/emails.txt");成功打开了它,但不知道如何将这些电子邮件地址存储到一个数组中。实际上,我可以使用 "explode" 函数,但是如何分隔换行符呢?感谢您提前给出任何答案!
使用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"
}
$lines = preg_split('/\r\n|\n|\r/', trim(file_get_contents('file.txt')));
听起来很疯狂,但在双引号(""
)内键入 return
或 enter
可以分隔一行。为了更清晰,可以输入以下内容:
explode("", "Stuff to delimit");
只需在 ""
的中间按下回车键,即可得到:
explode("
", "stuff to delimit");
它运行良好。可能不太常规,只能在Linux上使用。但它可以运行。