Rand() avec valeur regex [Résolu]

Signaler
Messages postés
558
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
18 février 2006
-
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
-
Bonjour j'essaie de faire un tag [de]chiffre/de pour mon forum qui fera un chiffre au hasard entre 1 et le chiffre entre les tags, seulement le rand n'accepte pas la valeur de mon regex comme un chiffre mais plutot un string...

Merci de m'aider

$message = preg_replace("/\[de\](.+?)\[\/de\]/", rand(1,\\1), $message);


J'ai déja essayé :

$message = preg_replace("/\[de\](.+?)\[\/de\]/", rand(1,"\\1"), $message);


,

$message = preg_replace("/\[de\](.+?)\[\/de\]/", rand(1,intval("\\1")), $message);


et

$message = preg_replace("/\[de\](.+?)\[\/de\]/", rand(1,$1), $message);


mais sans succès :(

Encore merci de l'aide :)

Mathieu M-G :)
http://www.qc-net.com

5 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Tu veux faire quoi?

[de]15/de --> #vraid#D12 . rand(1, 12), c ca?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
$message = preg_replace("/\[de\]([[:digit:]]+)\[\/de\]/e", "rand(1, intval('\\1'))", $message);


Manquait l'option /e, ;-)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
558
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
18 février 2006

Merci énormément :)

Mathieu M-G :)
http://www.qc-net.com
Messages postés
558
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
18 février 2006

J'ai besoin de rajouter tu texte devant, mais je ne peux plus l'évaluer au complet...

J'ai essayé ceci mais en vain :(

$message = preg_replace("/\[de\]([[:digit:]]+)\[\/de\]/", "#vraid#D\\1: ".eval("rand(1, intval('\\1'))"), $message);


Merci encore et désolé ;)

Mathieu M-G :)
http://www.qc-net.com
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
$message = preg_replace("/\[de\]([[:digit:]]+)\[\/de\]/e", "'#vraid#D\\1 ' . rand(1, intval('\\1'));", $message);


Je te laisse adapter si c pas parfaitement ce que tu veux...

@++ et bonne soirée

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"