Holen Sie Benutzername aus einer E-mail-Adresse in php
In PHP, ich habe einen string wie diesen:
$string = "[email protected]";
Wie bekomme ich die "Nutzer" von E-Mail-Adresse nur? Gibt es einen einfachen Weg, um den Wert vor dem @ ?
Vorsicht: E-Mail-Adressen enthalten kann mehr als ein "@"...!
Sehen Sie dieses Beispiel mit der strstr () - Funktion : php.net/manual/en/function.strstr.php#example-4852
$email = "[email protected]"; $domain_name = substr(strrchr($email, "@"), 1); echo "der Domänen-name lautet :" . $domain_name;
Ich weiß nicht, wer von Ihnen positiv bewertet werden Ihre Vorsicht. In keinem realen Szenario müssen Sie kümmern sich um mehr als ein@ in einer E-Mail-Adresse. In meinem ganzen Leben und ich haben sich mit Millionen von mails habe ich noch nie gesehen.
Leider ist in der Praxis, die Sie kaum jemals zu sehen, genau weil jeder akzeptiert nur gerade die minimale lebensfähige E-Mail-Adresse syntax. Die Skillung wäre für ihn, wenn jemand sich tatsächlich die Mühe voll und ganz unterstützen.
Sehen Sie dieses Beispiel mit der strstr () - Funktion : php.net/manual/en/function.strstr.php#example-4852
$email = "[email protected]"; $domain_name = substr(strrchr($email, "@"), 1); echo "der Domänen-name lautet :" . $domain_name;
Ich weiß nicht, wer von Ihnen positiv bewertet werden Ihre Vorsicht. In keinem realen Szenario müssen Sie kümmern sich um mehr als ein@ in einer E-Mail-Adresse. In meinem ganzen Leben und ich haben sich mit Millionen von mails habe ich noch nie gesehen.
Leider ist in der Praxis, die Sie kaum jemals zu sehen, genau weil jeder akzeptiert nur gerade die minimale lebensfähige E-Mail-Adresse syntax. Die Skillung wäre für ihn, wenn jemand sich tatsächlich die Mühe voll und ganz unterstützen.
InformationsquelleAutor Steve Martin | 2013-08-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, die E-Mail-Adresse gültig ist, wird diese textuelle Ansatz sollte funktionieren:
Es dauert alles bis zu (aber nicht einschließlich) dem letzten vorkommen
@
. Es wird der zuletzt auftreten, da diese E-Mail-Adresse gültig ist:Wenn Sie noch nicht validiert den string noch, ich würde Beratung über eine filter-Funktion:
$domain = substr($email, strrpos($email, '@') + 1);
ich denke der Frage-Titel war falsch 🙂
InformationsquelleAutor Ja͢ck
Versuchen Sie Folgendes:
Geändert für mehrere ' @ ' - Zeichen.
Dies wird nicht für die Adresse
"Abc\@def"@iana.org
viele andere.str_getcsv() mit einem
@
separator, sondern indem Sie Angebote für Postfächer können eine alternative sein$explode = str_getcsv($string, '@','"');
Bearbeitet für mehrere @ - Symbole, obwohl es wahrscheinlich nicht der beste Weg, es zu tun.
Möglicherweise nutzen array_pop entfernen des letzten Elements des array implode array mit @ return eine Zeichenkette. Helfen kann mit Adressen mit mehreren @ - Symbolen.
InformationsquelleAutor Ben Fortune
Können Sie
oder
InformationsquelleAutor Tsanyo Tsanev
Gibt es ein schönes Beispiel im PHP-manual-Eintrag für die
strpos()
Funktion: http://php.net/manual/en/function.strstr.php#117530InformationsquelleAutor Martin Bean
In der einfachsten form (vorausgesetzt, einzelnes '@'), können Sie Folgen Sie @Ben Fortune ' s Antwort (mit explode()).
Sonst, versuchen Sie dies:
Yah, regulärer Ausdruck wäre des guten zuviel, hier. Ihre Antwort ist einfacher. Ich habe mich nicht erinnern, die Funktion strrpos() existierte.
InformationsquelleAutor Sutandiono