Rechercher : dans
Par :

Remplacer :D par un smiley : mysql, php

Dernière réponse le 7 jui 2009 à 14:43:21 lucas34, le 10 mar 2009 à 21:58:26 
 Signaler ce message aux modérateurs

Bonjour,

Je voudrais que quand j'enregistre dans le comptenu d'un champs mysql

:D
, quand grâce à une fonction php, j'affiche le comptenu, qu'il me remplace
:D
par un smiley (une image)

Quel est cette fonction ?
Si vous avez compris, merci de m'aider... Lucas

Meilleures réponses pour « Remplacer :D par un smiley : mysql, php » dans :
Installation rapide de LAMP (Apache+MySql+php) sous Linux Voir LAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...

1

zoby44, le 10 mar 2009 à 22:09:31

Salut, tu peux le faire avec preg_replace :

$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'
Il est souvent plus rapide de chercher que d'attendre une réponse... Google est notre ami.

Répondre à zoby44

2

lucas34, le 11 mar 2009 à 12:54:03

C'est bon, sa fonctionne. Merci ! Lucas

Répondre à lucas34

3

lucas34, le 11 mar 2009 à 13:19:57

J'ai mis :

<?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 ?? Lucas

Répondre à lucas34

4

lucas34, le 11 mar 2009 à 13:29:48

J'ai mis à la place :

<?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 ?? Lucas

Répondre à lucas34

5

zoby44, le 11 mar 2009 à 15:03:42

Salut, met un \ devant le : ça devrais mieux marcher. Il est souvent plus rapide de chercher que d'attendre une ré­ponse... Google est notre ami.

Répondre à zoby44

6

lucas34, le 11 mar 2009 à 16:36:52

J'ai essayé :


<?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. Lucas

Répondre à lucas34

7

zoby44, le 11 mar 2009 à 17:01:44
  • +2

Avec ca ca fonctionne :

<?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. Il est souvent plus rapide de chercher que d'attendre une réponse... Google est notre ami.

Répondre à zoby44

8

lucas34, le 11 mar 2009 à 17:07:12

Merci sa fonctionne Lucas

Répondre à lucas34

9

 Floriian78, le 7 jui 2009 à 14:43:21

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

Répondre à Floriian78
Collection CommentÇaMarche.net