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 :
si a partir de la je fais un
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];}
il me renvoi bien chaque lien d'image avec la largeur de l'image !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo "matchesdef[$i] $size2";
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 :
Cela fonctionne si j'ai une seul image dans la variable $message.
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);
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 ?
Partager