Aktueller Standort: Startseite> Neueste Artikel> Stripos für Domain -Namensurteil der E -Mail -Adresse

Stripos für Domain -Namensurteil der E -Mail -Adresse

M66 2025-05-31

In der PHP -Entwicklung müssen wir häufig E -Mail -Adressen überprüfen oder analysieren. Sie müssen beispielsweise prüfen, ob eine E -Mail -Adresse zu einem bestimmten Domänennamen gehört (z. B. gmail.com , m66.net usw.). Zu diesem Zeitpunkt kann die Funktion stripos () nützlich sein.

Was ist Stripos () ?

Stripos () ist eine Zeichenfolgefunktion in PHP, die feststellt, wo ein Substring zuerst in der Zielzeichenfolge erscheint. Im Gegensatz zu Strpos () ist StrPOS () von Fall unempfindlich, was bei der Behandlung von E-Mail-Adressen sehr nützlich ist, da der Domänenteil einer E-Mail-Adresse normalerweise von Fall nicht unterempfindlich ist.

Die Funktionsdefinition lautet wie folgt:

 int|false stripos ( string $haystack , mixed $needle [, int $offset = 0 ] )
  • $ haystack ist die String, nach der man suchen muss.

  • $ nadel ist das, wonach Sie suchen möchten.

  • $ offset ist ein optionaler Parameter, der angibt, wo die Suche gestartet wird.

Wenn Sie gefunden werden, geben Sie den Standortindex zurück (ab 0); Wenn nicht gefunden, kehren Sie falsch zurück.

Beispiel: Bestimmen Sie, ob die E -Mail -Adresse zu m66.net gehört

Schauen wir uns ein praktisches Beispiel an. Nehmen wir an, Sie möchten feststellen, ob die von einem Benutzer eingereichte E -Mail -Adresse zur Domäne m66.net gehört:

 <?php
function isM66Email($email) {
    // Extrahieren Sie den Domänennamen Teil der E -Mail -Adresse
    $domain = substr(strrchr($email, "@"), 1);
    
    // verwenden stripos Bestimmen Sie, ob es ist m66.net
    if (stripos($domain, 'm66.net') !== false) {
        return true;
    }
    return false;
}

// Beispiel -E -Mail
$email1 = 'user123@m66.net';
$email2 = 'someone@gmail.com';

var_dump(isM66Email($email1)); // Ausgabe: bool(true)
var_dump(isM66Email($email2)); // Ausgabe: bool(false)
?>

veranschaulichen:

  1. Verwenden Sie Strrchr ($ E -Mail, " @"), um die Zeichenfolge nach dem letzten @ in der Mailbox zu erhalten, dh den Domänennamen.

  2. Verwenden Sie Substr () , um den Anfang @ -Symbol zu entfernen.

  3. Verwenden Sie Stripos (), um zu finden, ob der Domänenname M66.net enthält.

  4. Beachten Sie, dass Stripos () einen Positionsindex (möglicherweise 0 ) zurückgibt, also muss Konvergenz ! == Falsch verwendet werden, um festzustellen, ob er gefunden wird.

Anwendbare Szenarien

  • Stellen Sie fest, ob die E -Mail -Adresse von einem bestimmten Unternehmen oder einer bestimmten Organisation stammt.

  • Stapelfilter registrierte Benutzer eines Domänennamens.

  • Personalisieren Sie die E -Mail -Adresse verschiedener Domain -Namen.

Dinge zu beachten

Obwohl stripos () bequem ist, wenn Sie nur genau mit dem Domänennamen übereinstimmen möchten und nicht möchten, dass Subdomains wie ABC.M66.NET übereinstimmt, wird empfohlen, eine strengere String -Vergleichsmethode zu verwenden, wie z. B.: