begin process at 2012 05 31 18:58:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

utilisation de preg_match


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

utilisation de preg_match

mercredi 14 décembre 2005 à 02:05:55 | utilisation de preg_match

joebuz

Membre Club
bonjour,
 voila j'ai 4 type de phrases (pour l'instant) et je veux en extraire le morceau compris entre // et //

1- $phrase = "salut visiteur //act_001.gif//";
2- $phrase  = "salut visiteur //act_001.gif// coucou ca va ? ";
3- $phrase  = "//act_001.gif// coucou ca va ? ";
4- $phrase  = "//act_001.gif//";

j'utilise ceci :
preg_match("/^(\/\/)?([^\/\/]+)/i",   $phrase, $matches);

$var = $matches[2];

normalement $var = act_001.gif
mais cela ne fonctionne que pour la 3° et la 4° type de phrase, si je mets du texte avant (1° et 2°) ca ne fonctionne pas !

A l'aide ??

joebuz

mercredi 14 décembre 2005 à 08:40:22 | Re : utilisation de preg_match

Anthomicro

Salut,

enlève le ^ qui signifie "début de la chaîne" dans ton preg_match :-)

a +


    mercredi 14 décembre 2005 à 10:25:17 | Re : utilisation de preg_match

    joebuz

    Membre Club
    ah ok merci !!

    joebuz

    mercredi 14 décembre 2005 à 10:53:11 | Re : utilisation de preg_match

    joebuz

    Membre Club
    c bon ca marche mais je l'ai modifie comme ca :

    preg_match("/(\/\/)([a-z0-9_\.]{1,})([\/\/]+)/i",

    par contre si j'ai plusieurs fois : //act_001//   dans la meme phrase il ne m'affiche que le premier !!

    comment faire pour tous les extraire ?

    PS : si vous connaissez une adresse ou l'on explique bien preg_match ca me serais utile, parce que dans le manuel PHP il n'explique pas toute la syntaxe comme ^ ou /i

    joebuz

    mercredi 14 décembre 2005 à 15:53:48 | Re : utilisation de preg_match

    Anthomicro

    preg_match_all() dans ce cas là pour les avoir tous (fr.php.net)


      jeudi 15 décembre 2005 à 01:24:08 | Re : utilisation de preg_match

      joebuz

      Membre Club

      ok, merci ca fonctionne. exemple :

      $a = "//act_001// salut visiteur //act_025// coucou ca va ? ";

      preg_match_all("/(\/\/)([a-z0-9_\.]{1,})([\/\/]+)/i",
         $a, $matches);

      $matches[2][0] --> act_001
      $matches[2][1] --> act_025

      Mais en fait (desole d'etre chiant, mais c'est comme ca qu'on apprends !) c'est pas réellement ce que je chercha a faire !!!

      en fait il faudrait que je remplace tout ces elements par autre chose ex :

      $a = "//act_001// salut visiteur //act_025// coucou ca va ? ";
      deviendrait
      $a = "<img src='act_001.gif'> salut visiteur <img src='act_025/gif'> coucou ca va ? ";

      Pour ca j'ai été voir dans le manuel PHP et j'ai trouvé ceci :

      preg_replace

      et j'en ai fait ceci :

      $patterns = array ("/(\/\/)([a-z0-9_\.]{1,})([\/\/]+)/i", $a);
      $replace = ('coucou pour essai');
      $b = preg_replace($patterns, $replace, $a);
      echo $b;

      Mais bien sur ca ne marche pas !!




      joebuz

      jeudi 15 décembre 2005 à 13:36:05 | Re : utilisation de preg_match

      Anthomicro

      Réponse acceptée !
      preg_replace('`//(.+?)//`sim','<img src="$1.gif" alt="" />',$chaine);

      ça devrait fonctionner.


        vendredi 16 décembre 2005 à 04:17:19 | Re : utilisation de preg_match

        joebuz

        Membre Club
        ouah, merci trop cool , ca marche trop trop bien !!!!

        MERCI !!!!!!!!!!!!!!!

        par contre j'aimerais bien que tu m'explique quand meme !
        a quoi ca correspond
        -->  (.+?)
        -->  sim
        -->  $1

        joebuz

        vendredi 16 décembre 2005 à 22:59:02 | Re : utilisation de preg_match

        Anthomicro

        . c'est "n'importe quel caractère"
        + c'est "un ou plusieurs"
        et ? c'est "un ou aucun"

        ensuite i c'est pour la casse c'est insensible à la casse, s et m faudrait que je vérifie, c'est pas obligatoire (le reste non plus d'ailleurs).

        pour le $1 c'est la condition qui satisfait la première parenthèse capturante.

        a +


          vendredi 16 décembre 2005 à 23:05:06 | Re : utilisation de preg_match

          joebuz

          Membre Club
          ok merci,
          si j'ai bien compris
          //(.+?)//  signifie "un ou plusieurs ou aucun n'importe quel caractere compris entre // et // , c'est ca ?, si oui ca sert a rien alors de mettre ? puisqu'il n'y aura jamais aucun charactere entre // et //, non ?

          et sinon pour le i j'ai pas tout compris

          joebuz


          1 2

          Cette discussion est classée dans : gif, preg, match, phrase, act


          Répondre à ce message

          Sujets en rapport avec ce message

          syntaxe preg_match [ par boakim ] Bonjour. J'essaie de comprendre la manière d'écrire des conditions pour une chaîne de caractères du style #^http:\/\/(.*)\.(gif|png|jpg)$#i dans pr preg_match et requete mysql [ par daquad ] Bonjour, Je suis en train de fonder un site communautaire, et je souhaite afficher les amis du membre X, pour cela je vais piocher dans ma table nomm boucle for [ par nbpro ] voila g un problème j'ouvre un dossier qui contiens des .txt ouvre et lit les .txt en récupère des données. Des requête s'exécute dans une boucle j' preg_match_all [ par Kloyd ] Bonjour j'aimerais recuperer à l'aide d'un Preg match all hors du code ci-dessous: [code=html] <img preg_match_all avec bracket [ ] [ par lord1366 ] Bonjour, j'ai besoin d'extraire la partie de texte contenu dans un texte similaire à ceci : Cher [Prénom] [NomDeFamille] , Nous vous invitons au séj extraire une phrase avec preg_match [ par pifethercule ] Bonjour, je tente vainement d'extraire une phrase d'un texte avec une regex... ma fonction, j'extrait tout ce qui se trouve entre "Délai" et le poin preg_match, problème difficilement compréhensible [ par sailsee ] Bonjour, Je travaille sur le contrôle d'un formulaire. J'ai deux variables à vérifier avec une expression regulière $ip et $mail, une ip et un mail. Métacaractères... [ par mfaraday ] Salut...Est-ce que quelqu'un pourrait m'expliquer comment utiliser les métacaractères dans un profil de recherche pour la fonction preg_match par exem Masque pour preg_match() ... Aidez-moi ! [ par LocalStone ] Alors, j'expose le problème : J'ai 1 fichier texte qui contient des ligne du style : 0004 - Chu Chu Rocket (J)Donc le masque approprié pour sépare


          Nos sponsors


          Sondage...

          CalendriCode

          Mai 2012
          LMMJVSD
           123456
          78910111213
          14151617181920
          21222324252627
          28293031   

          Consulter la suite du CalendriCode

          Photothèque

          A découvrir



           
          Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
          CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
          CodeS-SourceS.com© est une marque déposée tous droits réservés

          Google Coop CodeS-SourceS Google Coop CodeS-SourceS
          Temps d'éxécution de la page : 0,437 sec (4)

          Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales