Extraire chaine et comparer

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


passion
WRInaute accro
WRInaute accro
 
Messages: 2465
Inscription: Ven Jan 06, 2006 20:18

Extraire chaine et comparer

Message le Sam Mar 10, 2007 13:56

Bonjour,

A la lecture du poste, on va certainement me dire ...bah, tu fais une regex!
Oui ok mais depuis hier soir , je cale :(

Voilà, je voudrais que dans une "$variableA"(textarea comprenant commentaire + email) , je puisse extraire uniquement l'email...alors pour tenter de voir si j'étais dans le vrai

J'ai d'abord, ma variable "$Email" sous forme de regex comme ceci:
$Email = "#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#";

Ensuite, j'utilise quoi? un "preg_match" genre:
if (preg_match($Email, $variableA))
{
echo "Dans la chaine, il y a un email";
}
else
{
echo"Pas d'email dans la chaine";
}

j'ai vu le "preg_match_all" mais voit pas comment m'en servir?

Merci de votre aide


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Sam Mar 10, 2007 15:38

preg_match retourne un tableau et faux en cas d'erreur. Il n'existe pas de fonction qui fasse ce que tu veux en 1 fois. En fait il faut d'abord ressortir les mots de ton texte et les passer dans un tableau. Boucler sur le tableau et à l'aide d'un REGEX, tu pourras voir si l'un des elements du tableau contient bien une adresse mail.

Code: Tout sélectionner
<?php

$Email = "/^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}/";
$texte = 'J\'ecris a cette adresse : mail@ndd.fr car c\est la mienne';
$regs = preg_split("/[\s,:]+/", $texte);

$i=0;
$nb = sizeof($regs);
foreach($regs as $key) {

     if ($i < $nb) {

      preg_match($Email, $key, $matches, PREG_OFFSET_CAPTURE);
      if (!empty($matches[0]))
         echo 'Trouvé : '.$key.'';
          $i++;
     }
         else
          break;

}

// Affiche : Trouvé : mail@ndd.fr

?>


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités