5177 sujets

Le Bar du forum

Bonjour,
Je ne sais pas si ça le fait encore, mais parfois, les smileys buggent... dans le sens que dès que je mets un truc entre crochets, ça le prend comme smiley...

Test ici :
Smiley test Smiley ahahhahahahah Smiley blabla Smiley bip Smiley coincoin

ON va bien voir, si ça le fait plus, ce post est supprimable
Justement, là est le problème : ce sont des smileys qui n'existent pas et qui sont interprétés comme tels. Regarde le code source de la page, tu verras... par exemple, mon "blabla" entre crochets a produit un code similaire à : <img src="smileys/blabla.gif" alt="blabla" />
Administrateur
toute chaîne de caractères entre crochets est interprétée comme smiley. il n'y a pas de liste fixe pour des raisons de performances.
Raphaël > Oui, mais alors, ces smileys n'existent pas réellement, n'est-ce pas ? ... et ça peut poser quelques problèmes, notamment dans les scripts javascript, avec les indices de tableaux. Bon j'ai trouvé l'astuce, rajouter un espace, mais il faut le savoir.

EDIT : ET je ne vois pas le rapport entre une liste de smileys fixe et les performances ? C'est tellement facile de faire :
$chaine = str_replace(array("[ lol]", "[ cool]", "[ mad]"), array("<img ... />", "<img ... />", "<img ... />"), $chaine);

Ou alors :
$smileys = array(
"lol"=>"lol.gif",
"cool"=>"cool.gif",
"mad"=>"mad.gif");

fforeach ($smileys as $code=>$image) {
$chaine = str_replace("[ $code]", "<img src=\"smileys/$image.gif\" alt=\"$code\">", $chaine);
}


Ca demande tant de performances que ça ?

EDIT 2 : P.S. J'ai mis des espaces pour pas que ça soit interprété comme smiley
Modifié par QuentinC (17 Dec 2005 - 14:16)