Tuto : extraire tous les emails d'un texte en PHP

email extractor

Pour extraire toutes les adresses e-mails d'un texte en PHP vous dévier définissez une expression régulière qui correspond à un e-mail valide. Voici un exemple :

$regex = '/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,}\b/i';

Utilisez la fonction preg_match_all() pour extraire tous les e-mails du texte en utilisant l'expression régulière définie ci-dessus.

Voici un exemple :

preg_match_all($regex, $text, $matches);

Vous pouvez maintenant accéder à tous les e-mails extraits en utilisant la variable $matches. Voici un exemple de comment afficher tous les e-mails extraits :

foreach ($matches[0] as $email) {
echo $email . "<br>";
}

Il est important de noter que cette solution ne garantit pas que tous les e-mails extraits sont valides, mais elle vous donnera une liste de tous les e-mails qui correspondent à la structure de l'expression régulière définie. Vous devrez peut-être effectuer d'autres vérifications pour vous assurer que les e-mails sont valides avant de les utiliser.

Voici comment vous pourriez utiliser cette solution dans le contexte d'un script PHP complet :

<?php

$text = "Voici quelques exemples d'e-mails : Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser., Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser., Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.. Vous pouvez également nous contacter à l'adresse Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser..";

// Définissez l'expression régulière pour extraire les e-mails
$regex = '/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/i';

// Extraire tous les e-mails du texte
preg_match_all($regex, $text, $matches);

// Afficher tous les e-mails extraits
echo "E-mails extraits : <br>";
foreach ($matches[0] as $email) {
echo $email . "<br>";

}

?>

Ce script affichera les e-mails suivants :

E-mails extraits :
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.