Bonjour à tous !

Voila j'ai un petit soucis avec un bout de code !

J'ai une variable $message ou dedans j'ai un post de forum. Dans cette variable il y'a du texte et parfois des balises du type bbcode ([img], etc..)

Je souhaite faire un traitement sur les balises images dans cette variable $message.
J'arrive donc a recuperer tout les liens image avec ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
$regex = "/\[img\]([^\[]*)\[\/img\]/i";
 
if (preg_match_all($regex, $message, $matches)) {
$matchesdef = $matches[1];
 
$replace = array ('[img]','[/img]');
$matchesdef = preg_replace($replace,'', $matchesdef);
$count = count($matchesdef);
for ($i = 0; $i < sizeof($matchesdef); $i ++) {
 
$size = getimagesize($matchesdef[$i]);
$size2 = $size[0];}
si a partir de la je fais un

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
echo "matchesdef[$i] $size2";
il me renvoi bien chaque lien d'image avec la largeur de l'image !

Mais car il y'a un mais !
Au lieu de faire un echo je souhaite modifier l'ensemble des images qu'il pourrait y'avoir dans la variable message !
Il faut aussi que je transforme mon bbcode en code html, j'utilise donc :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$message = preg_replace("/\[img\]([^\[]*)\[\/img\]/i","<div style='overflow:hidden;width:500px;'><a href='\\1' target=\"_blank\"><img src='\\1' width=$size2 border=0 ></a>",$message);
Cela fonctionne si j'ai une seul image dans la variable $message.

mais si par exemple j'ai 3 images elle auront toute le meme width ! Je n'arrive a appliquer a chaque image son propre width ($size2)!

Je n'arrive pas a avancer
Comment faire pour que le code soit complet et que chaque image trouver dans la variable $message affiche la taille $size2 ?
Une idée ?