Forum Clubic

(Resolu) Faire une addition dans un preg_replace()

Salut à tous,

J’ai cherché comment faire, mais sans aucune solution…
Je voudrais additionner de 20 un nombre contenu dans un preg_replace() via tableaux.

	$patterns[] = '`\[flv ([[:graph:]]+);([0-9]+);([0-9]+)\]`';
	$replaces[] = '<object width="$2" height="$3"><param name="movie" value="player.swf?file=$1"></param><embed src="player.swf?file=$1" type="application/x-shockwave-flash" width="$2" height="$3"></embed></object>';

Donc j’aimerai faire un $3+20, mais ça renvoie, en admettant que la valeur de $3 est 500 : “500+20” et pas 520, j’ai tenté avec concaténation… erreur de parsage etc… :frowning:
Je peux également le faire manuellement, mais on sait pas s’il y a des changements par la suite, donc je préfère une solution tout automatique.

Je me demande si c’est possible, à moins que vous n’ayez une solution alternative… ?

Merci.
Edité le 17/03/2008 à 14:56

$replaces[] = ‘’;

Je pense que ca devrait fonctionner.

Humm… non, j’avais déjà tenté ça… et je viens de réessayer, ça marche pas.

non.

Si tu veux faire une addition, utilise preg_replace_callback, ou utiliser le mode peu sécurisé e (cf. fr2.php.net…)

Merci, j’ai utilisé le pattern “e” finalement.
J’ai eu pas mal de soucis pour trouver la syntaxe correcte pour le remplacement, mais c’est bon.

Merci à toi :slight_smile: