2010-07-18 7 views
5

bir txt dosyasından içerik yeni satırlar patlayabilir:php Ben diğerleri gibi altında altındaki e-posta adresleri ile dosyayı txt olan

[email protected] 
[email protected] 

Şimdiye kadar

 $result = file_get_contents("tmp/emails.txt");
ile açın başardı ama benim hemen bilemiyorum bir dizideki e-posta adresleri. Temel olarak patlayabilirdim ama yeni çizgiyi nasıl sınırlandırabilirim? Herhangi bir cevap için şimdiden teşekkürler!

+1

Aşağıdaki cevaplar idealdir; ancak referans olarak, \ n olarak gösterilen yeni satır karakteri ile patlayabilir kullanabilirsiniz. (Bu, Windows veya Linux kullanmanıza bağlı olarak \ r \ n olabilir). – user11977

cevap

25

Sadece dosyayı file() kullanarak okuyun ve dosyanın her satırını içeren bir dizi alırsınız.

$emails = file('tmp/emails.txt'); 
FILE_SKIP_EMPTY_LINES bayrağını kullanmak, FILE_IGNORE_NEW_LINES bayrağı kullanın ve boş satırları atlamak için, her e-posta adresine yeni satır eklemek değil için

:

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

ikinci bir örneğinin var_dump($emails) yaparak bu verir:

(bu ikili tırnak içinde bir return veya enter yapıyor göründüğü gibi
array(2) { 
    [0]=> 
    string(13) "[email protected]" 
    [1]=> 
    string(14) "[email protected]" 
} 
+1

Bu işe yarar, Windows tabanlı yeni satırları dikkate almaz. preg_split kullanarak daha güvenilir çalışır. – Jubair

2

olarak deli) bir satırsonu sınırlar.

explode(" 

", "stuff to delimit"); 

ve çalışır: getirecek şekilde,

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

ve sade "" ortasında dönüşü çarptı: içinde, açık tip yapmak. Muhtemelen alışılmamış ve sadece Linux üzerinde çalışabilir. Ama işe yarıyor.

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