Accueil > Forum > > > > str_replace qui ne fonctionne pas, HELP ME PLEASE
str_replace qui ne fonctionne pas, HELP ME PLEASE
vendredi 1 avril 2011 à 21:03:47 |
str_replace qui ne fonctionne pas, HELP ME PLEASE

flasher_13
|
Bonjour à tous, je suis débutant et je bloque sur une petite bétise. Voici le problème:
J'ai une page index.php voici le code:
Code PHP :
include('smile.php'); //fichier dans lequel se trouve ma fonction qui remplace
$statut=$affiche_di["statut"]; //la c'est ma variable d'un statut (chaine de caractères) qu'un membre à posté
addsmile($statut); //là c'est ma fonction qui est censé remplacé les smiley texte par des images
//voici le contenue de smile.php
<?php
function addsmile($vartext)
{
$vartext=str_replace(':)','<img src="images/smiley/smigeii (13).png" border="0">',$vartext);
$vartext=str_replace(':/','<img src="images/smiley/smigeii (12).png" border="0">',$vartext);
$vartext=str_replace(':(','<img src="images/smiley/smigeii (11).png" border="0">',$vartext);
$vartext=str_replace(':p','<img src="images/smiley/smigeii (10).png" border="0">',$vartext);
$vartext=str_replace(':P','<img src="images/smiley/smigeii (10).png" border="0">',$vartext);
$vartext=str_replace(':D','<img src="images/smiley/smigeii (9).png" border="0">',$vartext);
$vartext=str_replace(':d','<img src="images/smiley/smigeii (9).png" border="0">',$vartext);
$vartext=str_replace(':o','<img src="images/smiley/smigeii (8).png" border="0">',$vartext);
$vartext=str_replace(':O','<img src="images/smiley/smigeii (14).png" border="0">',$vartext);
$vartext=str_replace(':s','<img src="images/smiley/smigeii (7).png" border="0">',$vartext);
$vartext=str_replace(':S','<img src="images/smiley/smigeii (7).png" border="0">',$vartext);
$vartext=str_replace(':dow:','<img src="images/smiley/smigeii (6).png" border="0">',$vartext);
$vartext=str_replace(':|','<img src="images/smiley/smigeii (5).png" border="0">',$vartext);
$vartext=str_replace('-.-','<img src="images/smiley/smigeii (4).png" border="0">',$vartext);
$vartext=str_replace(':OO:','<img src="images/smiley/smigeii (3).png" border="0">',$vartext);
$vartext=str_replace(':OO(:','<img src="images/smiley/smigeii (2).png" border="0">',$vartext);
$vartext=str_replace(':OO):','<img src="images/smiley/smigeii (1).png" border="0">',$vartext);
$vartext=str_replace(':Oo(:','<img src="images/smiley/smigeii (15).png" border="0">',$vartext);
$vartext=str_replace(':Oo','<img src="images/smiley/smigeii (16).png" border="0">',$vartext);
$vartext=str_replace(':@','<img src="images/smiley/smigeii (17).png" border="0">',$vartext);
return $vartext;
}
?>
Mon problème viens du return qui ne se fait pas je pense ou alors je ne sais pas, faut-il faire avec un array?
Aidez moi s'il vous plait je galère sur cette petite chose ^^, merci d'avance
|
|
vendredi 1 avril 2011 à 21:27:54 |
Re : str_replace qui ne fonctionne pas, HELP ME PLEASE

phpAnonyme
|
faut-il faire avec un array?
A ton avis, ne serait-ce pas mieux ??
______________________________________________________________________
|
|
vendredi 1 avril 2011 à 21:34:17 |
Re : str_replace qui ne fonctionne pas, HELP ME PLEASE

flasher_13
|
ben peut être mais je vois pas comment faire, en plus quand je met le script avec le nom de ma variable ça marche parfaitement, les smiley s'affichent:
Code PHP :
$vartext=$affiche_di["statut"];
$vartext=str_replace(':)','<img src="images/smiley/smigeii (13).png" border="0">',$vartext);
$vartext=str_replace(':/','<img src="images/smiley/smigeii (12).png" border="0">',$vartext);
$vartext=str_replace(':(','<img src="images/smiley/smigeii (11).png" border="0">',$vartext);
$vartext=str_replace(':p','<img src="images/smiley/smigeii (10).png" border="0">',$vartext);
$vartext=str_replace(':P','<img src="images/smiley/smigeii (10).png" border="0">',$vartext);
$vartext=str_replace(':D','<img src="images/smiley/smigeii (9).png" border="0">',$vartext);
$vartext=str_replace(':d','<img src="images/smiley/smigeii (9).png" border="0">',$vartext);
$vartext=str_replace(':o','<img src="images/smiley/smigeii (8).png" border="0">',$vartext);
$vartext=str_replace(':O','<img src="images/smiley/smigeii (14).png" border="0">',$vartext);
$vartext=str_replace(':s','<img src="images/smiley/smigeii (7).png" border="0">',$vartext);
$vartext=str_replace(':S','<img src="images/smiley/smigeii (7).png" border="0">',$vartext);
$vartext=str_replace(':dow:','<img src="images/smiley/smigeii (6).png" border="0">',$vartext);
$vartext=str_replace(':|','<img src="images/smiley/smigeii (5).png" border="0">',$vartext);
$vartext=str_replace('-.-','<img src="images/smiley/smigeii (4).png" border="0">',$vartext);
$vartext=str_replace(':OO:','<img src="images/smiley/smigeii (3).png" border="0">',$vartext);
$vartext=str_replace(':OO(:','<img src="images/smiley/smigeii (2).png" border="0">',$vartext);
$vartext=str_replace(':OO):','<img src="images/smiley/smigeii (1).png" border="0">',$vartext);
$vartext=str_replace(':Oo(:','<img src="images/smiley/smigeii (15).png" border="0">',$vartext);
$vartext=str_replace(':Oo','<img src="images/smiley/smigeii (16).png" border="0">',$vartext);
$vartext=str_replace(':@','<img src="images/smiley/smigeii (17).png" border="0">',$vartext);
|
|
vendredi 1 avril 2011 à 21:45:36 |
Re : str_replace qui ne fonctionne pas, HELP ME PLEASE

phpAnonyme
|
Réponse acceptée !
Sous forme tableau, tu dégustera moins en ressource car tu ne fera pas un appel systhématique.
Après concernant ton souci, pour que $vartext soit accessible à l'extérieur de la fonction faut le signaler à ta fonction : function addsmile($vartext)
{ global $vartext; .... }
Sinon tu fait un echo sur ta fonction directement :
______________________________________________________________________
|
|
vendredi 1 avril 2011 à 21:55:20 |
Re : str_replace qui ne fonctionne pas, HELP ME PLEASE

flasher_13
|
Merci beaucoup phpAnonyme avec une variable globale celà fonctionne parfaitement merci beaucoup et bonne soirée à vous!
Voici le code qui fonctionne pour ceux qui serait confrontés au problème:
Code PHP :
//extrait de index.php
include('smile.php');
$vartext=$mavariable_qui_contient_mon_texte;
addsmile($vartext);
echo 'Texte avec des smiley en images: '.$vartext.' <br/> Merci à phpAnonyme';
//smile.php
<?php
function addsmile($vartext)
{
global $vartext;
$vartext=str_replace(':)','<img src="images/smiley/smigeii (13).png" border="0">',$vartext);
$vartext=str_replace(':/','<img src="images/smiley/smigeii (12).png" border="0">',$vartext);
$vartext=str_replace(':(','<img src="images/smiley/smigeii (11).png" border="0">',$vartext);
$vartext=str_replace(':p','<img src="images/smiley/smigeii (10).png" border="0">',$vartext);
$vartext=str_replace(':P','<img src="images/smiley/smigeii (10).png" border="0">',$vartext);
$vartext=str_replace(':D','<img src="images/smiley/smigeii (9).png" border="0">',$vartext);
$vartext=str_replace(':d','<img src="images/smiley/smigeii (9).png" border="0">',$vartext);
$vartext=str_replace(':o','<img src="images/smiley/smigeii (8).png" border="0">',$vartext);
$vartext=str_replace(':O','<img src="images/smiley/smigeii (14).png" border="0">',$vartext);
$vartext=str_replace(':s','<img src="images/smiley/smigeii (7).png" border="0">',$vartext);
$vartext=str_replace(':S','<img src="images/smiley/smigeii (7).png" border="0">',$vartext);
return $vartext;
}
?>
|
|
samedi 2 avril 2011 à 00:14:32 |
Re : str_replace qui ne fonctionne pas, HELP ME PLEASE

genetApt151
|
Réponse acceptée !
Faut pas utiliser de variable globale, c'est ce qu'il y a de pire.
Voilà une solution juste :
Soit tu passes ta variable par référence comme ceci
function addsmile(&$vartext)
appel : addsmile($statut);
ou soit tu gardes ta fonction (1er post) mais fait un appel qui soit correct : $statut = addsmile($statut);
C'est un concept basic de programmation.
Pour plus d'infos :
[ Lien ]
[ Lien ]
|
|
samedi 2 avril 2011 à 01:23:15 |
Re : str_replace qui ne fonctionne pas, HELP ME PLEASE

phpAnonyme
|
+1
Je ne l'est pas précisé mais il est vrai que la deuxième solution que je lui est fournit est la plus conseillée, afin d'éviter tout effet de bord de la fonction
______________________________________________________________________
|
|
samedi 2 avril 2011 à 22:40:00 |
Re : str_replace qui ne fonctionne pas, HELP ME PLEASE

flasher_13
|
Merci pour ces précisions, je vais essayer de modifier le script comme ceci:
$statut = addsmile($statut);
Par contre je ne comprend pas en quoi c'est mal d'utiliser des variable globale? Niveau sécurité? Rapidité d'éxécution?
|
|
dimanche 3 avril 2011 à 00:43:10 |
Re : str_replace qui ne fonctionne pas, HELP ME PLEASE

phpAnonyme
|
Ce n'est pas mal ! c'est déconseillée.
Pour savoir le pourquoi du comment : ici
______________________________________________________________________
|
|
Cette discussion est classée dans : php, replace, str, oo, vartext
Répondre à ce message
Sujets en rapport avec ce message
replace [ par kelm_by ]
Salut tous les mondes, Je ne sais pas ou est l'erreur dans ce code mais ce que je veux c'est enlever .Php et remplacer _ par un espace merci d'avenc
Texte propre pour une url ? [ par porciner ]
Bonjour,J'ai fais une fonction qui permet de dénuer une chaine de ses caractères spéciaux et autres caractères nuisibles lorsque l'on veut ajouter cet
Enlever sauts de lignes [ par cz1702 ]
Bonjour à tous,Je souhaiterais enlever les sauts de ligne d'une variable :J'ai essayé de supprimer les "\n" avec str_replace sans succès :$desc= str_
probleme de replace [ par thunderfear ]
Bonjour,j'ai un probleme avec la fonction str_replace().J'aimerai remplacer "); );" par ); comme ceci: str_replace("); );", ");", $req2);mais ca ne f
str_replace [ par yoarf ]
Bonjour,Je voudrais dans une chaine remplacer les cotes (') par des espaces:Cela ne fonctionne pas : $cat = str_replace('"',' ',$cat);
str_replace("'", """, $maChaine); [ par alonsyl ]
bonjour, j'utilise 1 chaine de caractere pour generer du code HTML via PHP. j'ai donc des trucs du genre :$maChaine = "TEST";echo $maChaine;le
replace php sql [ par kelm_by ]
salut,j'ai une table sql nomé table je veux remplacer ce que il ya dans le 3eme fiels nomé num par '1' mais ca marche pas commca. $req="INSERT INTO
accents et mysql [ par thelan ]
Bonjour je tourne un serveur perso et je suis confronté a un probleme qui empeche le bon fonctionnement du site qu'il hebergeeffectivement il me rempl
Simplification de nombreux str_replace [ par ImmortalPC ]
Salut, je sais qu'il esiste une astuce pour éviter les nombreux str_replace avec array(). Quelqu'un la connaît il ou quelque chose pour simplifier le
Problème avec str_replace [ par Arnauti ]
Bonjour, je fais pour m'amuser un truc tout simple pour crypter (pas fini le truc) mais bon ... Voici mon code : $texte = 'cd' ; $original = array(
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|