[PHP] Problème de Regex

Résolu
gerard -  
okuni Messages postés 1325 Statut Membre -
Bonjour, je cherche une regex pour sortir un nombre d'une chaine de caractère comme celle ci :

blabla=12312?blabla

J'aimerais récuperer tout ce qui est entre les caractères = et ? soit 12312 .

J'ai beau chercher j'y arrive pas .

donc j'essaye de trouver la regex mais j'arrive a rien et me bloque complètement pour la suite de mon script.

$recap = preg_replace(' bein_je_sais_pas', '$1', 'blabla=12312?blabla' );

Voila si une personne pouvait me donner la réponse car vraiment j'ai essayé beaucoup de chose et je comprends rien :o, merci d'avance
Configuration: Windows XP Internet Explorer 6.0

6 réponses

  1. gerard
     
    J'avance un peu, voila ce que j'ai :

    $message = preg_replace ('#\=(.+)\##' , '<STRONG>$1</STRONG>', $variable);

    ca me met bien les nombres entre = et # mais le probleme c'est que ca retourne entièrement le message, ma regex doit pas tout a fait être exacte :/ j'ai vraiment du mal si une personne pouvait m'aider :)

    merci
    0
  2. okuni Messages postés 1325 Statut Membre 126
     
    tu peux toujours aller sur le site du zéro.

    j'ai essayé et j'ai écris ceci :
    $recup = preg_replace('#([a-zA-Z])([0-9]+)#i', '<strong>$2</strong>', 'blabla12312blabla');

    mais bizarrement, $recup contient tout le texte, il y a juste les chiffres qui sont en gras.
    Je ne comprend pas oO
    0
  3. okuni Messages postés 1325 Statut Membre 126
     
    $recup = preg_replace('#([a-zA-Z]+)([0-9]+)([a-zA-Z]+)#i', '<strong>$2</strong>', 'blabla12312blabla');

    voila, maintenant ça marche :D

    adapte le code pour enlever les ? , = _ etc
    0
  4. Jean-François Pillou Messages postés 18961 Date d'inscription   Statut Webmaster Dernière intervention   63 308
     
    $message = preg_replace ('#=([^?]+)#' , '<STRONG>$1</STRONG>', $variable); 


    La traduction est la suivante : tous les caractères consécutifs qui suivent le signe '=' et qui ne sont pas un point d'interrogation.
    0
    1. okuni Messages postés 1325 Statut Membre 126
       
      On peut aussi rajouter i comme option après le 2ème #.
      cela permettra de prendre en compte les majuscules.

      ps : pas très professionnel de censurer ses fautes. 8-)
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gerard
     
    Un gros merci a vous tous ! j'ai enfin regler mon probleme et en meme temps compris beaucoup plus de chose sur les regex .
    0
  7. okuni Messages postés 1325 Statut Membre 126
     
    Pas de problème :D
    C'est un plaisir comme toujours.
    0