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.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Exemple du texte enregistré dans texte de la table PAGES:
[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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<img src="1.jpg" align="left">Ceci est mon texte.
Jusqu'ici, aucun problème pour afficher ces informations. J'utilise le code suivant pour afficher l'image correctement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$texte=preg_replace('#[img]([^[]+)-([^[]+)[/img]#i','<img src="$1.jpg" align="$2"/>',$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.

Voici ce que ça devrait donner:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<img src="1.jpg" align="left"><div>description de l'image</div>Ceci est mon texte.
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.

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