Expression reguliere en PHP

electronLibre -  
webjfr Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un block de texte duquel je voudrais remplacer toutes les occurrences de nombre composés de 5 chiffres.

Par exemple cette belle phrase de Churchill: :-)

Monsieur, si j'étais votre (52565) épouse, je (23) mettrai du poison (54127) dans votre café!
Madame, si j'étais votre époux, je le boirais!

Je voudrais donc remplacer tous les nombre qui ont 6 chiffres.
Remplacer 52565 par <b>52565</b> et 54127 par <b>54127</b>

Merci de votre aide
A voir également:

3 réponses

webjfr Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   12
 
Salut,
heu, test ça :
preg_replace('`((0-9){6}+)`','<b>$1</b>',$string);
0
electronLibre16 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
merci, pour il marche pas ton truc :)

Entre temps j'ai fais ca:

$txt = "Monsieur, si j'étais votre (52565) épouse, je (23) mettrai du poison (54127) dans votre café!
Madame, si j'étais votre époux, je le boirais! ";


$pattern = "([0-9]{5})";

$getItem = eregi($pattern ,$txt, $regs);
$getItem = $regs[0];

echo eregi_replace($itemId ,'<b>'.$getItem .'</b> ', $txt);

Ceci marche très bien.

sauf que je voudrais qu'en même temps, les nombres avec seulement 2 chiffres, comme 23, soient remplacés par <i>23</i>
Et la je cale grave :)
0
webjfr Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   12
 
Re,

eregi() consomme plus que les preg().

Ensuite, il faut que tu fasses un 2ème eregi ou preg, mais il faudra ajouter l'espace avant, que tu dois signaler en dehors des chiffres comme ceci \[ESPACE] (remplace [ESPACE] par un espace !)
0