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'adresseCette 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.