Slik fjerner en e-postadresse fra en streng i PHP

Slik fjerner en e-postadresse fra en streng i PHP


Når du leser data fra en fil med PHP, du vanligvis leser hver linje én om gangen i en streng og deretter analysere strengen til å trekke ut de ulike data som finnes i strengen. Strengen du leser kan inneholde en e-postadresse, og det er mulig å fjerne e-postadressen fra strengen ved hjelp av et vanlig uttrykk som kan identifisere e-postadressen format inne i strengen sammen med innebygd PHP funksjoner utformet for å arbeide med regulære uttrykk.

Bruksanvisning

1 Åpne en datafil for å lese den linje for linje i en streng variabel som du vil analysere for å fjerne e-postadressen som finnes i den. For eksempel inn:

<? Php

$ Fp = fopen ( "myfile.dat", "r");

if (! $ fp) dø) ( "Kunne ikke åpne fil!");

2 Initial en matrise for å lagre e-postadressen du fjerne fra hver streng. Initial annen rekke å passere som en parameter for å fange e-postadressen til hver enkelt linje. Sett en variabel lik den regulære uttrykk streng for å matche e-postadresser. For eksempel inn:

$ Email = '/^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[AZ]{2,6}$/i';

$ Adresser = array ();

$ Kampene = array ();

3 Loop gjennom hver linje i filen til det ikke er mer data. For eksempel inn:

while ($ linje = fgets ($ fp)) {

4 Match linjen til e regulære uttrykk filter med preg_match funksjon. Passere en array til funksjonen for å få e-postadressen matchet på indeksen 0. For eksempel inn:

if (preg_match($email, $line, $matches) {

5 Hent e-postadressen fra tabellindekser 0 av tabellen parameter du passerte. Lagre e-postadressen ved å legge det til master epost matrisen du initialisert i begynnelsen av programmet. For eksempel inn:

array_push($addresses, $matches[0]);

6 Match strengen til det vanlige uttrykket på nytt ved hjelp preg_replace og erstatte den matchet e-postadresse med nulltegn for å fjerne det fra strengen. For eksempel inn:

preg_replace($email, "", $line);

}

}

7 Lukk datafilen og skrive en liste over e-postadresser fjernet. For eksempel inn:

fclose ($ fp);

print_r ($ adresser);

?>