Expression reguliere en PHP

Fermé
electronLibre - 31 oct. 2008 à 17:36
webjfr Messages postés 19 Date d'inscription jeudi 30 octobre 2008 Statut Membre Dernière intervention 8 décembre 2008 - 31 oct. 2008 à 19:37
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 jeudi 30 octobre 2008 Statut Membre Dernière intervention 8 décembre 2008 12
31 oct. 2008 à 18:03
Salut,
heu, test ça :
preg_replace('`((0-9){6}+)`','<b>$1</b>',$string);
0
electronLibre16 Messages postés 5 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 23 novembre 2008
31 oct. 2008 à 18:25
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 jeudi 30 octobre 2008 Statut Membre Dernière intervention 8 décembre 2008 12
31 oct. 2008 à 19:37
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