Expression régulière PHP : comment faire correspondre tous les liens de courrier électronique en HTML

WBOY
Libérer: 2023-06-22 12:04:02
original
847 Les gens l'ont consulté

Qu'il s'agisse d'une page web ou d'un email, les liens email sont l'un de nos éléments communs. Dans une page Web, nous souhaiterons peut-être faire correspondre et trouver tous les liens de courrier électronique en même temps. À ce stade, l'utilisation des expressions régulières de PHP peut facilement atteindre cet objectif.

PHP est un langage de script serveur largement utilisé qui peut être utilisé pour des tâches telles que le traitement de formulaires HTML, la création de pages Web dynamiques et l'interaction avec des bases de données. Il existe de nombreuses fonctions intégrées à PHP qui peuvent facilement manipuler des chaînes et des expressions régulières. Parmi elles, la fonction preg_match_all() est utilisée pour faire correspondre toutes les sous-chaînes qui correspondent à l'expression régulière donnée dans un morceau de texte.

Ensuite, nous expliquerons comment utiliser la fonction preg_match_all() de PHP pour faire correspondre tous les liens de courrier électronique en HTML.

  1. Créer une expression régulière

Tout d'abord, nous devons créer une expression régulière pour correspondre à tous les liens de courrier électronique. Ici, nous pouvons envisager d’utiliser une expression régulière relativement simple pour atteindre l’objectif. Par exemple, nous pouvons utiliser l'expression régulière suivante pour correspondre à un format de lien de courrier électronique standard :

[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Z]{2,}
Copier après la connexion

Cette expression régulière peut commencer par une lettre ou un chiffre, suivi de certains caractères facultatifs (tels que le point, le trait de soulignement, le signe plus, le chiffre moins). , etc.), suivi d'un symbole @ et d'un nom de domaine de messagerie. Parmi eux, le nom de domaine est composé de lettres et de chiffres et peut avoir plusieurs niveaux de nom de domaine, séparés par des points. Enfin, cette expression régulière nécessite également que le nom de domaine de premier niveau du domaine soit composé de deux lettres majuscules ou plus. Nous pouvons enregistrer cette expression régulière dans une variable en PHP, par exemple :

$pattern = '/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Z]{2,}/';
Copier après la connexion
  1. Charger le contenu du fichier HTML

Ensuite, nous devons lire le contenu d'un fichier HTML et l'enregistrer dans une chaîne dans des variables. En PHP, nous pouvons utiliser la fonction file_get_contents() pour lire le contenu de n’importe quel fichier réseau ou local. Par exemple, nous pouvons lire le contenu d'un fichier local avec le code suivant :

$html = file_get_contents('test.html');
Copier après la connexion
  1. Correspond à tous les liens de messagerie éligibles

Maintenant, nous avons une expression régulière stockée dans la variable $pattern, et le contenu du fichier HTML stocké dans la variable $html. Ensuite, nous pouvons utiliser la fonction preg_match_all() de PHP pour faire correspondre tous les liens de courrier électronique qui répondent aux critères. Cette fonction doit transmettre trois paramètres : l'expression régulière à faire correspondre, le texte à faire correspondre et un tableau pour enregistrer les résultats correspondants.

Ici, nous pouvons utiliser le code suivant pour atteindre notre objectif :

$matches = array(); 
preg_match_all($pattern, $html, $matches);
Copier après la connexion

Dans ce code, nous créons un tableau vide $matches pour enregistrer les résultats de la correspondance d'expressions régulières. Ensuite, utilisez la fonction preg_match_all() pour faire correspondre tous les liens de messagerie éligibles et enregistrez les résultats dans la variable $matches.

  1. Résultats de correspondance des résultats

Enfin, nous pouvons parcourir la variable $matches et afficher tous les liens de courrier électronique correspondants. Par exemple, nous pouvons utiliser le code suivant pour afficher les résultats de la correspondance :

foreach ($matches[0] as $match) {
    echo $match . "<br/>";
}
Copier après la connexion

Dans ce code, nous parcourons le premier élément de la variable $matches (c'est-à-dire le tableau qui contient tous les résultats correspondants) et ajoutons chacun match Les résultats sont affichés à l'écran.

Le code complet est le suivant :

$pattern = '/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Z]{2,}/';
$html = file_get_contents('test.html');
$matches = array(); 
preg_match_all($pattern, $html, $matches);

foreach ($matches[0] as $match) {
    echo $match . "<br/>";
}
Copier après la connexion

Le code ci-dessus peut correspondre à tous les liens de courrier électronique d'un fichier nommé test.html et afficher les résultats à l'écran.

Résumé :

Pour faire correspondre tous les liens de messagerie en PHP, vous pouvez utiliser la fonction preg_match_all() et les expressions régulières. Tout d’abord, nous devons créer une expression régulière correspondant à un format de lien de courrier électronique standard. Ensuite, nous devons utiliser la fonction file_get_contents() pour lire le contenu HTML à partir d'un fichier local ou d'un fichier réseau et enregistrer le contenu dans une variable de chaîne. Ensuite, nous pouvons utiliser la fonction preg_match_all() pour faire correspondre tous les liens de messagerie éligibles et enregistrer les résultats dans un tableau. Enfin, nous pouvons parcourir chaque correspondance du tableau et l’imprimer à l’écran.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!