IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

preg_match et les "bornes" [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 126
    Points : 105
    Points
    105
    Par défaut preg_match et les "bornes"
    Bonjour,

    Voici mon expression reguliere :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	$motif='`\[(.)(.)\]`';
    	$chaine = "<IMG SRC=\"$1$2.gif\">";
    	$chain  = preg_replace($motif,$chaine,$texte);
    Elle fonctionne tres bien sauf quand j'ai plusieurs [..] sur la même ligne,
    par exemple : [qs]blablablabla[sd]
    me donne comme résultat : <img1 qs><img2 sd>, en fait cela m'a mangé le texte entre 2.

    Comment faire ? il me semble qu'il y a une histoire de "U" à mettre quelque part mais impossible de m'en rappeler

    Merci de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Verifie bien ton code, car d'apres ce que je vois chez moi avec ca, tout va bien ! Tu es sur que c'est cette fonction qui est appelee ? Car ton resultat ne coincide pas avec ta chaine de remplacement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    $texte = "[qs]blablablabla[sd]\n[aj]dfgfd[bc]1[nd]\n";
    $motif='`\[(.)(.)\]`';
    $chaine = "<IMG SRC=\"$1$2.gif\">";
    $chain  = preg_replace($motif,$chaine,$texte);
     
    echo $chain;
     
    ?>
    Resultat:
    <IMG SRC="qs.gif">blablablabla<IMG SRC="sd.gif">
    <IMG SRC="aj.gif">dfgfd<IMG SRC="bc.gif">1<IMG SRC="nd.gif">
    En outre, tu peux faire quelquechose d'un poil plus logique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $motif='`\[(.{2})\]`';
    $chaine = "<IMG SRC=\"$1.gif\">";

  3. #3
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 126
    Points : 105
    Points
    105
    Par défaut
    Erf, tu as tout à fait raison ! je faisais un traitement entre les 2.

    Je suis vraiment confus ! C'est ça de développer la tête dans le guidon

    En tout cas merci beaucoup, et aussi pour ta petite modif

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo