Bonjour

Les informations comme le symbole à remplacer, le nom du fichier l'attribut ALT de l'image sont contenu dans une table mysql pour pouvoir ajouter on retirer dans le futur des smileys facilement.

Seulement je n'arrive pas à écrire le code correct pour que ça fonctionne.

J'ai essayé deux solutions mais aucune ne fonctionne:

la première: dans le champs, symbole, j'ai mis uniquement les symbole et j'ai essayé ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
$req = mysql_query("SELECT * FROM smileys");
	while ($donnees = mysql_fetch_array($req))
	{
 
		$texte=preg_replace('! ' . $donnees['symbole']. '!i', ' <img src="' . $donnees['nonfichier'] . '" alt="' . $donnees['alt'] . '" />', $texte);
	}
Pa bon du tout ça m'affiche un superbe message d'erreur.

Du coup j'ai essayé une autre solutions: mettre le motif directement dans le champ symbole ce qui donne ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
$req = mysql_query("SELECT * FROM smileys");
while ($donnees = mysql_fetch_assoc($req))
{
$texte= preg_replace($donnees['symbole'],'<img src="1.gif" />',$texte);
}
Là j'ai plus de message d'erreur, mais pas de remplacement non plus.

Voici par exemple un motif du champs symbole: '!:content:!isU'

Sans passer par la BDD, en mettant directement : $texte = preg_replace('!:content:!i','<img src="2.gif" />',$texte); ça fonctionne, du coups cela vient peut être de ma requête qui est mal écrite et je ne suis peut être pas sur le bon forum. Si c'est le cas je m'en excuse.