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);
?>