pb avec htmlentities

albo69
Invité n'ayant pas de compte PHPfrance

21 oct. 2005, 09:24

bonjour
apres 2000 essais je me decide à poser mon probleme.
normalement htmlentities est inclus par defaut dans php.
je fais un copier collé de l'exemple qui est dans la doc en français.
soit:
<?php
$str = 'Un \'apostrophe\' en <strong>gras</strong>';

// Affiche : Un 'apostrophe' en <strong>gras</strong>
echo htmlentities($str);

// Affiche : Un 'apostrophe' en <strong>gras</strong>
echo htmlentities($str, ENT_QUOTES);
?>


et j'ai comme affichage dans la page :

Code : Tout sélectionner

Un 'apostrophe' en <strong>gras</strong> Un 'apostrophe' en <strong>gras</strong>


j'ai fait le test avec addslashes et ça ne marches pas non plus.
j'ai fait le test sur 2 serveurs apache differents.
qui peut eclairer ma lanterne ?
merci d'avance.

Mammouth du PHP | 19672 Messages

21 oct. 2005, 09:33

Tu veux opbtenir quoi au juste ? que ça affiche " au lieu de ' ?
Essaye autrement:
$str = "Un 'apostrophe' en <strong>gras</strong>"; 
En utilisant des guillemets pour encadrer la chaîne et sns échapper les apostrophes... : à l'affichage, tu auras la même chose, mais si tu regarde le code source qui est généré, tu vas voir la différence ou l'apostrophe sera remplacée par &#039;:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

21 oct. 2005, 09:38

En fait le probleme au depart est que je veux inserer un nom avec apostrophe dans une base mysql mais la requete plante à cause de l'apostrophe.

Mammouth du PHP | 19672 Messages

21 oct. 2005, 09:54

Alors protège la avec addslashes(). Au moment de la récupération, tu afficheras en supprimant les backslashes avec stripslashes()
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

albo69
Invité n'ayant pas de compte PHPfrance

21 oct. 2005, 13:05

merci pour tous ces conseils
@+

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

21 oct. 2005, 13:05

C'est [RESOLU] ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer