[PHP] Problème de Regex

Résolu
gerard -  
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

6 réponses

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
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   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
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   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
Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277
 
$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
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
Pas de problème :D
C'est un plaisir comme toujours.
0