Bonjour,
Voici mon problème:
J'ai un texte enregistré dans une base de données et j'y insère des codes pour afficher des images.
Exemple du texte enregistré dans texte de la table PAGES:Code:
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE `PAGES` ( `idpage` int(255) NOT NULL auto_increment, `texte` text NOT NULL, PRIMARY KEY (`idpage`) ) TYPE=MyISAM; CREATE TABLE `IMAGES` ( `idimage` int(255) NOT NULL auto_increment, `description` varchar(255) NOT NULL default '', PRIMARY KEY (`idimage`) ) TYPE=MyISAM;
[img]1-left[/img]Ceci est mon texte.
Le chiffre 1 correspond à idimage de la table IMAGES.
Je veux maintenant afficher mon texte et l'image correctement. J'ai besoin que l'image et le texte s'affichent comme ceci:
Jusqu'ici, aucun problème pour afficher ces informations. J'utilise le code suivant pour afficher l'image correctement:Code:<img src="1.jpg" align="left">Ceci est mon texte.
En-dessous de l'image, je dois afficher sa description. Je dois faire une requête dans la base de données pour aller chercher l'image.Code:
1
2 $texte=preg_replace('#[img]([^[]+)-([^[]+)[/img]#i','<img src="$1.jpg" align="$2"/>',$texte);
Voici ce que ça devrait donner:
Mais là, j'ai un bogue, je ne suis pas capable d'extraire correctement le chiffre 1 pour faire la recherche dans la table IMAGES. Est-ce possible d'utiliser encore $1 à l'extérieur de la commande preg_replace ? Jusqu'à présent, je n'ai pas su comment faire.Code:
1
2 <img src="1.jpg" align="left"><div>description de l'image</div>Ceci est mon texte.
Y aurait-il un code plus simple qui faciliterait mon travail?
---
Présentement, les informations sont placées dans plusieurs champs et tout était facile à placer. Maintenant, je dois placer plusieurs images dans le champs texte. Les images doivent se retrouver exactement à côté de certaines parties du texte. Ex:
[img]1-right[/img]Ceci est mon premier paragraphe
[img]2-left[/img]Ceci est mon deuxième paragraphe
Ceci est mon troisième paragraphe et je n'ai pas d'image.
... etc
---
Merci à l'avance pour votre aide.
Pierre-Antoine