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 :
$regex = "/\[img\]([^\[]*)\[\/img\]/i";
if (preg_match_all($regex, $message, $matches)) {
$matchesdef = $matches[1];
$replace = array ('','');
$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
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 :
$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 :x
Comment faire pour que le code soit complet et que chaque image trouver dans la variable $message affiche la taille $size2 ?
Une idée ?
Edité le 08/12/2009 à 16:32