Når du læser data fra en fil ved hjælp af PHP , du typisk læse hver linje en ad gangen ind i en streng , og derefter parse strengen til at udtrække de forskellige data i strengen. Den streng, du læser , kan indeholde en e-mail -adresse, og det er muligt at fjerne e-mail- adresse fra strengen hjælp af en almindelig udtryk, der kan identificere den email-adresse format inde i strengen sammen med indbygget PHP funktioner designet til at arbejde med regulære udtryk. Instruktioner
1
Åbn en datafil for at læse den linje for linje i en streng variabel , som du vil analysere for at fjerne e-mailadresse , der er indeholdt i det. Skriv f.eks : Hej
< php
$ fp = fopen ( " myfile.dat " , "r "); die
if ($ fp !) ? ( "Kunne ikke åbne fil! "));
2
Initialiser et array til at gemme e-mail- adresse, du fjerne fra hver streng . Initialiser anden matrix til at passere som en parameter for at fange e-mail- adressen på hver enkelt linje. Sætte en variabel lig med regulære udtryk strengen for matching email-adresser. Skriv f.eks : .
$ Email = ' /^ [ A- Z0 - 9._ % + - ] + @ [ . A- Z0 -9 -] + \\ [AZ ] { 2,6 } $ /i «
$ adresser = array ();
$ kampe = array ();
3
Loop gennem hver linie i filen , indtil der ikke er flere data . Skriv f.eks : Hej
while ( $ line = fgets ($ fp )) {
4
Match linjen til email regulære udtryk filter ved hjælp af preg_match funktion. Pass et array til den funktion for at få den e-mailadresse matchede på indeks 0 . Skriv f.eks : Hej
if ( preg_match ( $ email , $ line , $ matches ) {
5
Hent e-mail- adresse fra arrayindeks 0 af array parameter bestået. . Gem e-mailadresse ved at tilføje det til master email array, du initialiseret i starten af programmet Skriv f.eks : Hej
array_push ( $ adresser , $ matches [ 0 ])
6
Match snoren til det regulære udtryk igen ved hjælp af preg_replace og erstatte den matchede e-mailadresse med null tegn til at fjerne det fra strengen Skriv f.eks : .
preg_replace ( $ email , "", $ . linje)
}
}
7
Luk datafil og udskrive listen over e-mail -adresser fjernet Skriv f.eks : Hej < p > fclose ( $ fp ),
print_r ( $ adresser ) ?
>