[php]str_replace texte par image
Résolu/Fermé
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
-
3 sept. 2006 à 17:09
lola - 3 août 2010 à 19:47
lola - 3 août 2010 à 19:47
A voir également:
- [php]str_replace texte par image
- Excel cellule couleur si condition texte - Guide
- Image iso - Guide
- Insérer une image dans word sans bouger le texte - Guide
- Transcription audio en texte word gratuit - Guide
- Recherche par image - Guide
9 réponses
Ssylvainsab
Messages postés
2884
Date d'inscription
samedi 29 juillet 2006
Statut
Modérateur
Dernière intervention
15 août 2020
825
4 sept. 2006 à 17:27
4 sept. 2006 à 17:27
Salut.
J'ai pas bien compris ce que tu veux faire.
Et si tu veux que quand quelqu'un écrive "merci" sur un forum ou un livre d'or (par exemple) , le texte soit directement remplacé par une image, c'est impossible en php, car le client ne connait pas le php.
Par contre, si tu veux mettre une image a la place, mais APRES, la ca doit être possible en faisant un script qui remplace certains mots par les images correspondantes, en php.
J'ai pas bien compris ce que tu veux faire.
Et si tu veux que quand quelqu'un écrive "merci" sur un forum ou un livre d'or (par exemple) , le texte soit directement remplacé par une image, c'est impossible en php, car le client ne connait pas le php.
Par contre, si tu veux mettre une image a la place, mais APRES, la ca doit être possible en faisant un script qui remplace certains mots par les images correspondantes, en php.
Ssylvainsab
Messages postés
2884
Date d'inscription
samedi 29 juillet 2006
Statut
Modérateur
Dernière intervention
15 août 2020
825
5 sept. 2006 à 17:48
5 sept. 2006 à 17:48
Salut.
Peut-être en faisant une fonction comme :
Et puis tu fais autant de "elseif" que tu as d'images, qui correspondent a chaque mot.
Mais je suis nul en PHP, ceci n'est qu'un "schéma".
Il faudrait également remplacer /*xxx*/ par une fonction qui voit si la variable CONTIENT un mot.
Ensuite, il faut transformer seulement le mot en image, et pas tout le texte correspondant.
Mais bon....
Comme je l'ai dit, je suis nul en PHP, attends l'aide de quelqu'un qui s'y connaisse.
Peut-être en faisant une fonction comme :
<?php if (isset($texte /*xxxx*/ "merci"))/*si le texte contient "merci"*/ { "merci" = '<img src="merci.jpg" />'; } elseif (isset($texte /xxx*/ "bonjour"))/*si le texte contient "bonjour"*/ { "bonjour" = '<img src="bonjour.jpg" />'; } elseif...etc
Et puis tu fais autant de "elseif" que tu as d'images, qui correspondent a chaque mot.
Mais je suis nul en PHP, ceci n'est qu'un "schéma".
Il faudrait également remplacer /*xxx*/ par une fonction qui voit si la variable CONTIENT un mot.
Ensuite, il faut transformer seulement le mot en image, et pas tout le texte correspondant.
Mais bon....
Comme je l'ai dit, je suis nul en PHP, attends l'aide de quelqu'un qui s'y connaisse.
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
6 sept. 2006 à 20:54
6 sept. 2006 à 20:54
j'ai essayé de la façon suivante, mais quand le message apparaît, les caractères ne sont pas remplacés par l'image..
function image($message) { $message = str_replace("merci", "<img src='$RACINE/images/merci.jpg' border='0'>", $message); $message = str_replace("lol", "<img src='$RACINE/images/lol.jpg' border='0'>", $message); return $message; }
Slt,
Utilise preg_replace() si le nom de ton image correspond toujours au texte.
Et ta variable $RACINE n'est pas déclarée dans ta fonction, ni dans un paramètre.
Soit tu la passes en argument, soit tu utilises global.
Utilise preg_replace() si le nom de ton image correspond toujours au texte.
Et ta variable $RACINE n'est pas déclarée dans ta fonction, ni dans un paramètre.
Soit tu la passes en argument, soit tu utilises global.
$RACINE = xxx; global $RACINE; function image($message) { global $RACINE; $message= preg_replace('#^([a-z]+)$#', "<img src='$RACINE/images/$1.jpg' border='0'>'); return $message; }
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
7 sept. 2006 à 10:40
7 sept. 2006 à 10:40
salut et merci
ma variable $RACINE est déclarée plus haut dans mon code ".."
mais le nom de l'image ne correspond pas toujours au texte.c'était un exemple pour ne pas compliquer mon cas d'avantage ;)
ma variable $RACINE est déclarée plus haut dans mon code ".."
mais le nom de l'image ne correspond pas toujours au texte.c'était un exemple pour ne pas compliquer mon cas d'avantage ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dans ce cas là, reste avec str_replace()
Et même si ta variable est déclarée avant ta fonction, elle n'est pas accessible à l'intérieur de celle-ci.
Exemple tout bête :
Ca n'affichera rien, car $var n'existe pas dans la fonction.
Tandis que :
Pour le str_replace, utilise 2 arrays:
Et même si ta variable est déclarée avant ta fonction, elle n'est pas accessible à l'intérieur de celle-ci.
Exemple tout bête :
$var = 'ma variable'; function affiche() { return $var; } echo affiche();
Ca n'affichera rien, car $var n'existe pas dans la fonction.
Tandis que :
$var = 'ma variable'; global $var; function affiche() { global $var; return $var; } echo affiche();Ou encore :
function affiche($argument) { return $argument; } $var = 'ma variable'; echo affiche($var);Affichera bien ma variable.
Pour le str_replace, utilise 2 arrays:
function image($message) { global $RACINE; $in = array('merci', 'lol'); $out = array('<img src="' . $RACINE . '/images/merci.jpg" border="0">', '<img src="' . $RACINE . '/images/lol.jpg" border="0">'); return str_replace($in, $out, $message); }
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
7 sept. 2006 à 22:19
7 sept. 2006 à 22:19
ok merci je vais essayer ça
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
>
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
9 sept. 2006 à 09:56
9 sept. 2006 à 09:56
re
j'ai donc essayé le système qu'on m'a proposé...et ça ne fonctionne pas. Pourtant, j'ai lu de la doc sur cette façon d'utiliser les array dans le str_replace, mais ça ne fonctionne toujours pas..
bizarre, bizarre..
j'ai donc essayé le système qu'on m'a proposé...et ça ne fonctionne pas. Pourtant, j'ai lu de la doc sur cette façon d'utiliser les array dans le str_replace, mais ça ne fonctionne toujours pas..
bizarre, bizarre..
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
12 sept. 2006 à 17:43
12 sept. 2006 à 17:43
....
Salut ! voilà j'ai el même preoblème :/
<?php
function moulinette()
{
$contenu = str_replace("^^","<img src='images/smiley/banale.JPG'/>",$contenu);
$contenu = str_replace('-_-',"<img src='images/smiley/degouter.JPG'/>",$contenu);
$contenu = str_replace(':D',"<img src='images/smiley/super_content.JPG'/>",$contenu);
$contenu = str_replace(';)',"<img src='images/smiley/clin_oeil.JPG'/>",$contenu);
$contenu = str_replace(':(',"<img src='images/smiley/pas_content.JPG'/>",$contenu);
$contenu = str_replace(':p',"<img src='images/smiley/langue.JPG'/>",$contenu);
$contenu = str_replace(';p',"<img src='images/smiley/langue_clin.JPG'/>",$contenu);
$contenu = str_replace(':s',"<img src='images/smiley/dsl.JPG'/>",$contenu);
$contenu = str_replace('xD',"<img src='images/smiley/xD.JPG'/>",$contenu);
}
?>
Et rien ne change :/ .
Enfin si enfaite quand je passe la fonction il me remplace tout par rien xD
<?php
function moulinette()
{
$contenu = str_replace("^^","<img src='images/smiley/banale.JPG'/>",$contenu);
$contenu = str_replace('-_-',"<img src='images/smiley/degouter.JPG'/>",$contenu);
$contenu = str_replace(':D',"<img src='images/smiley/super_content.JPG'/>",$contenu);
$contenu = str_replace(';)',"<img src='images/smiley/clin_oeil.JPG'/>",$contenu);
$contenu = str_replace(':(',"<img src='images/smiley/pas_content.JPG'/>",$contenu);
$contenu = str_replace(':p',"<img src='images/smiley/langue.JPG'/>",$contenu);
$contenu = str_replace(';p',"<img src='images/smiley/langue_clin.JPG'/>",$contenu);
$contenu = str_replace(':s',"<img src='images/smiley/dsl.JPG'/>",$contenu);
$contenu = str_replace('xD',"<img src='images/smiley/xD.JPG'/>",$contenu);
}
?>
Et rien ne change :/ .
Enfin si enfaite quand je passe la fonction il me remplace tout par rien xD
Salut, je ne sais pas si ça a un impacte, mais essaye d'utiliser les mêmes apostrophes pour le changement entre texte php et texte string.
Ex en ta 2ème ligne:
$contenu = str_replace('-_-',"<img src='images/smiley/degouter.JPG'/>",$contenu);
modifier en
$contenu = str_replace('-_-','<img src="images/smiley/degouter.JPG"/>',$contenu);
Pi sinon comment peux-tu accèder au $contenu de la fonction si tu ne le passe ni en paramètre au début (function moulinette($contenu) ), ni en "return" à la fin (return $contenu;) ?!!
Bonne soirée
Ex en ta 2ème ligne:
$contenu = str_replace('-_-',"<img src='images/smiley/degouter.JPG'/>",$contenu);
modifier en
$contenu = str_replace('-_-','<img src="images/smiley/degouter.JPG"/>',$contenu);
Pi sinon comment peux-tu accèder au $contenu de la fonction si tu ne le passe ni en paramètre au début (function moulinette($contenu) ), ni en "return" à la fin (return $contenu;) ?!!
Bonne soirée
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
12 oct. 2009 à 18:02
12 oct. 2009 à 18:02
Merci.
Oui, des apostrophes différents posaient problème.
Oui, des apostrophes différents posaient problème.
4 sept. 2006 à 17:39
je ne pensais pas avoir aussi mal expliqué, mais bon c'est comme tu dis...reste donc cette variable à définir..mais où??