[php]str_replace texte par image
Résolu/Fermé
maxime_B
lola - 3 août 2010 à 19:47
- Messages postés
- 788
- Date d'inscription
- mardi 14 juin 2005
- Statut
- Membre
- Dernière intervention
- 15 juin 2010
lola - 3 août 2010 à 19:47
A voir également:
- [php]str_replace texte par image
- Comment afficher un text apres image PHP ✓ - Forum - PHP
- [php]str_replace texte par image ✓ - Forum - PHP
- [PHP] Créer un générateur de text sur image ✓ - Forum - PHP
- Modifier texte sur image - Forum - Graphisme
- Php afficher texte - Articles
9 réponses
Ssylvainsab
4 sept. 2006 à 17:27
- Messages postés
- 2884
- Date d'inscription
- samedi 29 juillet 2006
- Statut
- Modérateur
- Dernière intervention
- 15 août 2020
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
5 sept. 2006 à 17:48
- Messages postés
- 2884
- Date d'inscription
- samedi 29 juillet 2006
- Statut
- Modérateur
- Dernière intervention
- 15 août 2020
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
6 sept. 2006 à 20:54
- Messages postés
- 788
- Date d'inscription
- mardi 14 juin 2005
- Statut
- Membre
- Dernière intervention
- 15 juin 2010
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
7 sept. 2006 à 10:40
- Messages postés
- 788
- Date d'inscription
- mardi 14 juin 2005
- Statut
- Membre
- Dernière intervention
- 15 juin 2010
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
7 sept. 2006 à 22:19
- Messages postés
- 788
- Date d'inscription
- mardi 14 juin 2005
- Statut
- Membre
- Dernière intervention
- 15 juin 2010
7 sept. 2006 à 22:19
ok merci je vais essayer ça
maxime_B
9 sept. 2006 à 09:56
- Messages postés
- 788
- Date d'inscription
- mardi 14 juin 2005
- Statut
- Membre
- Dernière intervention
- 15 juin 2010
- Messages postés
- 788
- Date d'inscription
- mardi 14 juin 2005
- Statut
- Membre
- Dernière intervention
- 15 juin 2010
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
12 sept. 2006 à 17:43
- Messages postés
- 788
- Date d'inscription
- mardi 14 juin 2005
- Statut
- Membre
- Dernière intervention
- 15 juin 2010
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
12 oct. 2009 à 18:02
- Messages postés
- 788
- Date d'inscription
- mardi 14 juin 2005
- Statut
- Membre
- Dernière intervention
- 15 juin 2010
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ù??