Position actuelle: Accueil> Derniers articles> Stripos pour le jugement du nom de domaine de l'adresse e-mail

Stripos pour le jugement du nom de domaine de l'adresse e-mail

M66 2025-05-31

Dans le développement de PHP, nous devons souvent vérifier ou analyser les adresses e-mail. Par exemple, vous devrez peut-être vérifier si une adresse e-mail appartient à un nom de domaine spécifique (comme Gmail.com , M66.net , etc.). À l'heure actuelle, la fonction stripos () peut être utile.

Qu'est-ce que Stripos () ?

stripos () est une fonction de chaîne en php qui trouve où une sous-chaîne apparaît d'abord dans la chaîne cible. Contrairement à StrPos () , StrPos () est insensible à la casse, ce qui est très utile lors de la gestion des adresses e-mail, car la partie du domaine d'une adresse e-mail est généralement insensible à la casse.

La définition de la fonction est la suivante:

 int|false stripos ( string $haystack , mixed $needle [, int $offset = 0 ] )
  • $ Haystack est la chaîne à rechercher.

  • $ l'aiguille est ce que vous voulez rechercher.

  • $ offset est un paramètre facultatif qui indique où démarrer la recherche.

Si trouvé, renvoyez l'index de l'emplacement (à partir de 0); Si cela n'est pas trouvé, retournez faux .

Exemple: Déterminez si l'adresse e-mail appartient à m66.net

Regardons un exemple pratique. Supposons que vous souhaitiez déterminer si l'adresse e-mail soumise par un utilisateur appartient au domaine m66.net :

 <?php
function isM66Email($email) {
    // Extraire la partie du nom de domaine de l&#39;adresse e-mail
    $domain = substr(strrchr($email, "@"), 1);
    
    // utiliser stripos Déterminez si c&#39;est m66.net
    if (stripos($domain, 'm66.net') !== false) {
        return true;
    }
    return false;
}

// Exemple de courrier électronique
$email1 = 'user123@m66.net';
$email2 = 'someone@gmail.com';

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

illustrer:

  1. Utilisez strrchr ($ e-mail, "@") pour obtenir la chaîne après la dernière @ dans la boîte aux lettres, c'est-à-dire le nom de domaine.

  2. Utilisez substr () pour supprimer le symbole de début.

  3. Utilisez stripos () pour trouver si le nom de domaine contient m66.net .

  4. Notez que stripos () renvoie un indice de position (peut-être 0 ), donc la convergence ! == False doit être utilisée pour déterminer si elle est trouvée.

Scénarios applicables

  • Déterminez si l'adresse e-mail provient d'une entreprise ou d'une organisation spécifique.

  • Filtres par lots enregistrés des utilisateurs d'un nom de domaine.

  • Personnalisez l'adresse e-mail de différents noms de domaine.

Choses à noter

Bien que StripOs () soit pratique, si vous voulez seulement correspondre au nom de domaine exactement et ne voulez pas que des sous-domaines comme ABC.M66.net soient assortis, il est recommandé d'utiliser une méthode de comparaison de chaînes plus stricte, telle que: