Smiley dans un texte de saisie récupéré [Résolu]

Signaler
Messages postés
19
Date d'inscription
dimanche 11 juillet 2004
Statut
Membre
Dernière intervention
5 mars 2005
-
Messages postés
19
Date d'inscription
dimanche 11 juillet 2004
Statut
Membre
Dernière intervention
5 mars 2005
-
Bonjour voila mon petit pb en faite je sais pas trop comment m'y prendre j'espere que vous me direz par ou commencer
j'explique le probleme j'ai creer une shoutbox en flash j'envoie la saisie sur MySQL grace a un fichier PHP et je récupere TOUT grace a un autre fichier PHP qui va cehrcher les element de la table et qui les affiche sous flash

ma question est comment integrer des smiley par exemple si l'internaute ecrit : "Salut tout le monde :p" a la place du ":p" je voudrai que sa soit un smiley donc en faite au moment ou je récupere toutes mes donné de ma table dans une variable PHP y faudrai analyser tout le texte et quand ya un ":p" metre un smiley..
J'espere que j'ai été assez clair et que vous pouvez m'aider
PS : pour ce qui ne savent pas ce qu'est une shoutbox allez voir ma création : http://lordroom.free.fr/ShoutBox.html laisser des com en passant ;)

Merci d'avance

By L0rD

15 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



tournes-toi vers la fonction str_replace. Tu prends en entrée le code
du smiley et en sortie un code html correspondant à l'image du smiley :




a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
21
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
7 décembre 2005

Moi je fais:

$trans array("[:P]"> "", ...);

$text = strtr($text,$trans);
Messages postés
19
Date d'inscription
dimanche 11 juillet 2004
Statut
Membre
Dernière intervention
5 mars 2005

merci j'allais justement venir poster j'aurai peut etre du chercher un peu plus je vien de trouver en effet la fonction str_replace me convien a MERVEILLE

$news = str_replace(":p","",$news);

merci a vous

By L0rD
Messages postés
21
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
7 décembre 2005

si tu as beaucoup de smiley, je te conseille ma variante qui te permet
de tout faire en un. Sinon, c'est vrai que str_replace va très bien!



J'suis allé sur ta page, mais je n'ai tjs pas compris ce qu'est une shoutbox
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
str_replace accepte les tableaux passés en paramètres



ensuite remplace ça : $news = str_replace(":p","",$news); par ça :




$news = str_replace(':p','',$news);



<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
21
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
7 décembre 2005

ok, merci pour l'info Anthomicro!
Messages postés
19
Date d'inscription
dimanche 11 juillet 2004
Statut
Membre
Dernière intervention
5 mars 2005

Merci pour toute vos réponse mais j'ai encore un petit souci
voter code marche mais le probleme c'est qu'il ne prend en compte QU'UN SEUL smiley je m'explique
si le t'exte est : "coucou tout le monde :p comment sa va ? :p" y va transformer qu'un seul ":p" en smiley et l'autre ne va pas etre afficher (ni en smiley ni en texte) il va disparaitre quoi

pourquoi sa fait sa vous avez une idée ?? merci

By L0rD
Messages postés
21
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
7 décembre 2005

Je viens d'essayer ça:

<?php

$trans array(":p"> "[LOL]");

$texte = "coucou tout le monde :p comment sa va ? :p";

$texte = strtr($texte,$trans);

echo $texte;

?>



Résultat:

coucou tout le monde [LOL] comment sa va ? [LOL]
Messages postés
19
Date d'inscription
dimanche 11 juillet 2004
Statut
Membre
Dernière intervention
5 mars 2005

<?php$trans array(":p"> "[LOL]");
$texte = "coucou tout le monde :p comment sa va ? :p";
$texte = strtr($texte,$trans);
echo $texte;
?>

sa fonctionne mais si tu met sa :

<?php$trans array(":p"> "");
$texte = "coucou tout le monde :p comment sa va ? :p";
$texte = strtr($texte,$trans);
echo $texte;
?>

sa fonctionne pas

By L0rD
Messages postés
21
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
7 décembre 2005

Aucun problème sur mon serveur! J'ai les deux smiles en faisant copy/paste de ton code! Ton problème doit être ailleurs...
Messages postés
19
Date d'inscription
dimanche 11 juillet 2004
Statut
Membre
Dernière intervention
5 mars 2005

C'est peut etre du parce que c FLASH qui reçoit le texte c'est pas PHP
en faite moi c une variable texte dynamique sous flash qui reçoit le code c pas une variable PHP mais bon merci en tout cas de votre aide je vais éssayer de cherche le probleme vous m'avez beaucoup avancé merci a tous

By L0rD
Messages postés
19
Date d'inscription
dimanche 11 juillet 2004
Statut
Membre
Dernière intervention
5 mars 2005

En incluant un fichier PHP avec la fonction $trans si je transforme ":p" en "lol" sa marche mais si je transforme ":p" en "" mon texte dynamique flash m'inscrit :

Parse error: parse error, unexpected T_STRING, expecting ')' in /var/www/free.fr/e/6/lordroom/shoutbox_smileys.php on line 2

Je ne sais pas d'ou sa vien

By L0rD
Messages postés
16
Date d'inscription
dimanche 18 avril 2004
Statut
Membre
Dernière intervention
11 janvier 2006

peut etre les guillemets , essaie avec des ' au lieu des "
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Enlève toutes tes doubles quotes d'ouverture et de fin :



''


<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
19
Date d'inscription
dimanche 11 juillet 2004
Statut
Membre
Dernière intervention
5 mars 2005

<?php$trans array('::content::'> ''">http://lordroom.free.fr/smileys/content/content.jpg">');
$news = strtr($news,$trans);
?>

sa ne fonctionne tjr pas aucune image n'est afficher
je suis désolé de vous saouler les mecs :S
By L0rD