Remplacer un smiley :D par une image avec PHP / Mysql
Résolu/Fermé
A voir également:
- Remplacer un smiley :D par une image avec PHP / Mysql
- Remplacer disque dur par ssd - Guide
- Remplacer word - Guide
- Quel site pour remplacer coco - Accueil - Réseaux sociaux
- (A) smiley ✓ - Forum Réseaux sociaux
- 3 smiley - Forum Mail
10 réponses
zoby44
Messages postés
818
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
199
11 mars 2009 à 17:01
11 mars 2009 à 17:01
Avec ca ca fonctionne :
Perso je préfère preg_replace à str_replace, je trouve que le filtre est plus simple a faire. Dans l'exemple, le :D est insensible a la casse. Si tu veux le rendre sensible, enlève le i après le #
La tu peux créer plein de smiley, mais attention de bien mettre un \ devant
<?php $mess = stripslashes($donnees['titre']); $mess = preg_replace('#:D#i','<img src="img/smiley/biggrin.gif">', $mess); $mess = preg_replace('#;\)#','<img src="img/smiley/icon_wink.gif">', $mess); echo $mess; ?>
Perso je préfère preg_replace à str_replace, je trouve que le filtre est plus simple a faire. Dans l'exemple, le :D est insensible a la casse. Si tu veux le rendre sensible, enlève le i après le #
La tu peux créer plein de smiley, mais attention de bien mettre un \ devant
# ! ^ $ ( ) [ ] { } ? + * . \ |si tu veux que ces caractères soient pris en compte.
zoby44
Messages postés
818
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
199
11 mars 2009 à 15:03
11 mars 2009 à 15:03
Salut, met un \ devant le : ça devrais mieux marcher.
zoby44
Messages postés
818
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
199
10 mars 2009 à 22:09
10 mars 2009 à 22:09
Salut, tu peux le faire avec preg_replace :
Si tu veux que :D et :d affiche le même smiley, remplace '#\:D#' par '#\:D#i'
$chaine = 'fsjhlfk dhgsdg jdhsfs kgjdfhljkg dfhlgk :d hskjqflh skdfl'; $smile = '<img src="smile.png">'; $chaine = preg_replace('#\:D#',$smile, $chaine); echo $chaine;
Si tu veux que :D et :d affiche le même smiley, remplace '#\:D#' par '#\:D#i'
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
11 mars 2009 à 13:19
11 mars 2009 à 13:19
J'ai mis :
Sa fonctionne mais comment faire pour remplacer plusieurs mots différents en différents smiley ??
<?php $recup = stripslashes($donnees['titre']); $smile1 = '<img src="img/smiley/biggrin.gif" alt=":D" />'; $chaine = preg_replace('#\:D#',$smile1, $recup); echo $chaine; ?>
Sa fonctionne mais comment faire pour remplacer plusieurs mots différents en différents smiley ??
Utilisateur anonyme
11 mars 2009 à 13:29
11 mars 2009 à 13:29
J'ai mis à la place :
Quand je met ;), sa remplace par un smiley maus quand j'écrit :
Quel qu'un sait pourquoi ??
<?php $recup = stripslashes($donnees['titre']); $mess = str_replace(":d","<img src='img/smiley/biggrin.gif' />",$recup); $mess = str_replace(";)","<img src='img/smiley/icon_wink.gif' />",$recup); echo $mess; ?>
Quand je met ;), sa remplace par un smiley maus quand j'écrit :
:d, sa ne remplace pas par l'image.
Quel qu'un sait pourquoi ??
Utilisateur anonyme
11 mars 2009 à 16:36
11 mars 2009 à 16:36
J'ai essayé :
Mais sa ne marche pas non plus.
<?php $recup = stripslashes($donnees['titre']); $mess = str_replace("\:d","<img src='img/smiley/biggrin.gif' />",$recup); $mess = str_replace("\;)","<img src='img/smiley/icon_wink.gif' />",$recup); echo $mess; ?>
Mais sa ne marche pas non plus.
Bonjour,
J'ai repris le code qui fonctionne parfaitement mais j'ai des retours chariots avant et après le smiley.
Exemple :
Je voudrais : "Ceci est un test (image :D) !!!"
et j'obtiens :
"Ceci est un test
(image :D)
!!!"
Pouvez vous m'aider ?
Voici le code :
<?php $mess = stripslashes($row_Recordset1['message']);
$mess = preg_replace('#:D#i','<img src="smileys/6.gif">', $mess);
$mess = preg_replace('#:\)#','<img src="smileys/1.gif">', $mess);
echo $mess;
?>
Merci d'avance
J'ai repris le code qui fonctionne parfaitement mais j'ai des retours chariots avant et après le smiley.
Exemple :
Je voudrais : "Ceci est un test (image :D) !!!"
et j'obtiens :
"Ceci est un test
(image :D)
!!!"
Pouvez vous m'aider ?
Voici le code :
<?php $mess = stripslashes($row_Recordset1['message']);
$mess = preg_replace('#:D#i','<img src="smileys/6.gif">', $mess);
$mess = preg_replace('#:\)#','<img src="smileys/1.gif">', $mess);
echo $mess;
?>
Merci d'avance