[PHP] str_replace
BINEJE
-
BINEJE -
BINEJE -
Bonjour,
J'ai un probleme avec mon code PHP str_replace.
D'abord voila mon code php.
index.php
smileys.php
Maintenant, le probleme:
J'ai crée mes smileys et mes deux pages web mais quand j'ouve la page, il m'affiche
le résultat sans l'avoir modifié.
Auriez-Vous une idée???
J'ai un probleme avec mon code PHP str_replace.
D'abord voila mon code php.
index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Binet JM</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>Journal de Bord - Binet Jean-Marie</h1> <p>Liste des Billets :</p> <a href='http://journal-de-bord.legtux.org/'>Accueil</a> <?php // Connexion à la base de données try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=****;dbname=****', '****', '****', $pdo_options); // On récupère les 5 derniers billets $req = $bdd->query('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM **** ORDER BY date_creation'); while ($donnees = $req->fetch()) { ?> <div class="news"> <h3> <?php echo htmlspecialchars($donnees['titre']); ?> <em>le <?php echo $donnees['date_creation_fr']; ?></em> </h3> <p> <?php // On affiche le contenu du billet include("smileys.php"); echo nl2br(htmlspecialchars($donnees['contenu'])); ?> <br /> <em><a href="commentaires.php?billet=<?php echo $donnees['id']; ?>">Commentaires</a></em> </p> </div> <?php } // Fin de la boucle des billets $req->closeCursor(); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?> </body> </html>
smileys.php
<?php $donnees = str_replace('merci' , '<img src="merci.gif" alt="" class="" />', $donnees) ; $donnees = str_replace('pleur' , '<img src="pleur.gif" alt="" class="" />', $donnees) ; $donnees = str_replace('idee' , '<img src="idee.gif" alt="" class="" />', $donnees) ; $donnees = str_replace('lol' , '<img src="lol.gif" alt="" class="" />', $donnees) ; $donnees = str_replace('zzz' , '<img src="zzz.gif" alt="" class="" />', $donnees) ; $donnees = str_replace('<3' , '<img src="<3.gif" alt="" class="" />', $donnees) ; $donnees = str_replace(':P' , '<img src=":P.gif" alt="" class="" />', $donnees) ; $donnees = str_replace(':O' , '<img src=":O.gif" alt="" class="" />', $donnees) ; $donnees = str_replace(':S' , '<img src="<3.gif" alt="" class="" />', $donnees) ; $donnees = str_replace(':)' , '<img src="<3.gif" alt="" class="" />', $donnees) ; $donnees = str_replace(':D' , '<img src=":D.gif" alt="" class="" />', $donnees) ; echo $donnees ?>
Maintenant, le probleme:
J'ai crée mes smileys et mes deux pages web mais quand j'ouve la page, il m'affiche
le résultat sans l'avoir modifié.
Auriez-Vous une idée???
A voir également:
- [PHP] str_replace
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
4 réponses
Je pense que c'est le "htmlspecialchars" qui peut être de trop : soit le déporter dans la chaîne avant remplacement, soit l'enlever tout simplement.
Aussi dans smileys.php je ferai plutôt une fonction avec un argument entrée retournant en sortie la chaîne modifiée plutôt que de passer par une variable globale :
et dans le fichier principal :
Aussi dans smileys.php je ferai plutôt une fonction avec un argument entrée retournant en sortie la chaîne modifiée plutôt que de passer par une variable globale :
function updateContentUsingSmileys($donnees) { // les str_replace ici return $donnees; }
et dans le fichier principal :
echo nl2br(updateContentUsingSmileys($donnees['contenu']));
Bonsoir,
Merci pour ton aide.
J'ai fais comme tu m'a dit.
index.php
smiley.php
Mais il me donne ceci
Merci pour ton aide.
J'ai fais comme tu m'a dit.
index.php
<?php // On affiche le contenu du billet include("smileys.php") echo nl2br(updateContentUsingSmileys($donnees['contenu'])); ?> <br /> <em><a href="commentaires.php?billet=<?php echo $donnees['id']; ?>">Commentaires</a></em> </p> </div>
smiley.php
<?php function updateContentUsingSmileys($donnees['contenu']) { str_replace('merci' , '<img src="merci.gif" alt="" class="" />', $donnees['contenu']) ; str_replace('pleur' , '<img src="pleur.gif" alt="" class="" />', $donnees['contenu']) ; str_replace('idee' , '<img src="idee.gif" alt="" class="" />', $donnees['contenu']) ; str_replace('lol' , '<img src="lol.gif" alt="" class="" />', $donnees['contenu']) ; str_replace('zzz' , '<img src="zzz.gif" alt="" class="" />', $donnees['contenu']) ; str_replace('<3' , '<img src="<3.gif" alt="" class="" />', $donnees['contenu']) ; str_replace(':P' , '<img src=":P.gif" alt="" class="" />', $donnees['contenu']) ; str_replace(':O' , '<img src=":O.gif" alt="" class="" />', $donnees['contenu']) ; str_replace(':S' , '<img src="<3.gif" alt="" class="" />', $donnees['contenu']) ; str_replace(':)' , '<img src="<3.gif" alt="" class="" />', $donnees['contenu']) ; str_replace(':D' , '<img src=":D.gif" alt="" class="" />', $donnees['contenu']) ; return $donnees['contenu']; } ?>
Mais il me donne ceci
Parse error: syntax error, unexpected T_ECHO in /var/www/legtux.org/users/Journal-de-Bord/jmb/index.php on line 38
Voila. J'ai reussi a modifier mon code pour que cela affiche les iamges.
Mais le probleme, c'est qu'il n'affiche pas l'image. il affiche le code.
$donnees = str_replace(':D' , '<img src="http://journal-de-bord.legtux.org/jmb/heureux.gif"', $donnees) ;
resultat: Vais pouvoir commencer à le lire <img src="http://journal-de-bord.legtux.org/jmb/langue.gif">
Mais le probleme, c'est qu'il n'affiche pas l'image. il affiche le code.
$donnees = str_replace(':D' , '<img src="http://journal-de-bord.legtux.org/jmb/heureux.gif"', $donnees) ;
resultat: Vais pouvoir commencer à le lire <img src="http://journal-de-bord.legtux.org/jmb/langue.gif">
Merci Mais j'ai trouvé par moi meme apres 3Heures de recherches.
index.php
smileys.php
Et le Resultat:
index.php
include("smileys.php"); //print nl2br(htmlspecialchars($donnees['contenu'])); print nl2br($donnees['contenu']);
smileys.php
<?php $donnees = str_replace('merci' , '<img src="http://journal-de-bord.legtux.org/jmb/merci.gif">', $donnees) ; $donnees = str_replace('pleur' , '<img src="http://journal-de-bord.legtux.org/jmb/pleur.gif">', $donnees) ; $donnees = str_replace('idee' , '<img src="http://journal-de-bord.legtux.org/jmb/idee.gif">', $donnees) ; $donnees = str_replace('lol' , '<img src="http://journal-de-bord.legtux.org/jmb/lol.gif"', $donnees) ; $donnees = str_replace('zzz' , '<img src="http://journal-de-bord.legtux.org/jmb/zzz.gif"', $donnees) ; $donnees = str_replace('<3' , '<img src="http://journal-de-bord.legtux.org/jmb/coeur.gif">', $donnees) ; $donnees = str_replace(':P' , '<img src="http://journal-de-bord.legtux.org/jmb/langue.gif">', $donnees) ; $donnees = str_replace(':O' , '<img src="http://journal-de-bord.legtux.org/jmb/surprise.gif">', $donnees) ; $donnees = str_replace(':S' , '<img src="http://journal-de-bord.legtux.org/jmb/S.gif"', $donnees) ; $donnees = str_replace(':)' , '<img src="http://journal-de-bord.legtux.org/jmb/content.gif">', $donnees) ; $donnees = str_replace(':D' , "<img src='http://journal-de-bord.legtux.org/jmb/heureux.gif'>", $donnees) ; ?>
Et le Resultat:
http://journal-de-bord.legtux.org/jmb/index.php