Smiley et textarea

adakick Messages postés 68 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 octobre 2009 - 16 janv. 2006 à 21:51
titip03 Messages postés 5 Date d'inscription mercredi 31 décembre 2003 Statut Membre Dernière intervention 15 mars 2007 - 26 avril 2006 à 00:27
Bonjour, je voudrai me servir de smiley dans un textarea :

J'ai donc réussi a faire en sorte que lorqu'on clique sur une image inserer un texte dans le textarea :

<script type="text/javascript">
function smiley(code)
{
var element = document.getElementById('textarea');
element.value = element.value+''+code />';
document.selection.createRange().text;
}
</script>

et pour chaque smley:
<a href="javascript: smiley(' ;) ');"><img src="images/smileys/cligne.gif" border="0"/></a>

Cela fonction bien, mais je ne sais pas comment faire pour faire linverse, c'est a dire de transformer ce texte en image...

Merci de votre aide

2 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 janv. 2006 à 13:42
Bonjour,
En JavaScript ? en retour de traitement par php ?
Quoi qu'il en soit, ce ne sera pas dans un textarea
où les balises ne sont pas interprétées. Il faut passer
par un span, un div, un [i]frame...
J'ai mis sur ce site ( ET ce n'est pas le seul !!! ) un
script qui parle de wysiwyg ( mise en forme de textes )
et cela pourrait aider.
Cordialement. Bul. ~
0
titip03 Messages postés 5 Date d'inscription mercredi 31 décembre 2003 Statut Membre Dernière intervention 15 mars 2007
26 avril 2006 à 00:27
Salut adarick,

Bon ben en fait t'as fait le plus dur :p a savoir la fonction en javascript.
Maintenant pour remplacer du texte en image, il y a une fonction php qui s'appelle str_replace();
Tu as une image qui s'appelle lol.gif par exemple dans le repertoire images. On veut en gros remplacer le texte :lol: par
<img src="images/smileys/cligne.gif" border="0"/>...
Donc le mieux pour un forum, est d'enregistrer le texte avec le code :lol: et ne remplacer le par image q'a l'affichage.
Ce qui veut dire, apres avoir recuperé les donnees de la base, tu rajoute ce code la:
<?php $text = str_replace(':lol:',' <img src="images/smileys/cligne.gif" border="0"/> ',$text);?> la variable $text etant le textt que tu viens de recuperer à partir de la base...

Le mieux serait de creer une fonction appellée le plus courament smiley() dans laquelle tu mettrais une boucle sur tous tes smileys...

Voila, j'espere que ca pourra t'aider et si tu as d'autres questions...

Cordialement,

Titip
0
Rejoignez-nous