När man läser data från en fil med PHP , du vanligtvis läsa varje rad i taget till en sträng och sedan tolka strängen att extrahera de olika uppgifter som finns i strängen . Strängen du läser kan innehålla en e-postadress , och det är möjligt att ta bort e-postadressen från strängen med ett reguljärt uttryck som kan identifiera formatet e-postadress inuti strängen tillsammans med inbyggda PHP funktioner för att arbeta med reguljära uttryck . Instruktioner
1
Öppna en datafil för att läsa den line - by- line till en sträng variabel som du kommer att tolka att ta bort den e-postadress som finns i den . Skriv till exempel : ?
< Php
$ fp = fopen ( " myfile.dat " , " r " ) ;
if ( $ fp ) dör ( " Kunde inte öppna filen ! " ) ) ;
2
initiera en array för att lagra e-postadress du ta bort från varje sträng . Initiera en annan array för att passera som en parameter för att fånga den e-postadress för varje enskild linje . Ställ en variabel som är lika med det reguljära uttrycket strängen för att matcha e-postadresser . Till exempel , typ : .
$ Email = ' /^ [ A - Z0 - 9._ % + - ] + @ [ . A - Z0 - 9 - ] + \\ [ AZ ] { 2,6 } $ /i " ,
$ adresser = array ( ) ;
$ matcher = array ( ) ;
3
Loop genom varje linje i filen tills det inte finns mer data. Till exempel , typ :
while ( $ rad = fgets ( $ fp ) ) {
4
Matcha linjen till e reguljära uttryck filter med preg_match funktionen . Passera en array till funktionen för att få e-postadressen matchas vid index 0 . Till exempel , typ :
om ( preg_match ( $ email , $ line , $ matcher ) {
5
Hämta e- postadress från array index 0 i arrayen parameter du passerat . . spara e-postadressen genom att lägga till det till befälhavaren e array du initieras i början av programmet till exempel skriva :
array_push ( $ adresser , $ matcher [ 0 ] ) ;
6
matchar strängen till den reguljära uttrycket igen med preg_replace och ersätta den matchas e-postadress med nulltecken att ta bort den från strängen till exempel typ : .
preg_replace ( $ email , " " , $ . line ) ;
}
}
7
Stäng datafilen och skriva ut listan med e-postadresser avlägsnas exempelvis typ :
fclose ( $ fp ) ,
print_r ( $ adresser ) ; ?
> Addera