[PHP] Problème de Regex
Résolu
gerard
-
okuni Messages postés 1325 Statut Membre -
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
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
-
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 -
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 -
$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 -
$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.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Un gros merci a vous tous ! j'ai enfin regler mon probleme et en meme temps compris beaucoup plus de chose sur les regex .
-