php htmlentities pour décoder textarea
J'ai une zone de texte et je voudrais profiter de l'entrée de la zone de texte et fusionner ensemble. Tout fonctionne bien sauf que c'est échapper les guillemets. Par exemple test's
est délivrée comme test/'s
Pour corriger cela, j'ai essayé htmlenttries comme,
<?php $inputtext= $_POST['textinput'];
$encodetext = htmlentities($inputtext);
$finaltext = html_entity_decode($encodetext);
echo '<p>'.$finaltext .'</p>'; ?>
Cela devrait fonctionner selon le html_entity_decode manuel (à moins que j'ai lu ce mal qui pourrait très probablement être le cas)
Ne vous obtenez "test/'s" ou "test de\ "s"? En outre, le code que vous avez posté n'est pas imprimer échappé citations.
Avez-vous des magic quotes activé par hasard?
Qu'espérez-vous accomplir en appelant
Jan soulève un très bon point. Le vidage de l'origine des données ainsi que les données traitées assurez-vous que l'original est comme vous vous attendez.
Avez-vous des magic quotes activé par hasard?
Qu'espérez-vous accomplir en appelant
htmlentities
suivie par html_entity_decode
? Ils sont les inverses les uns des autres, de sorte html_entity_decode(htmlentities($str)) == $str
.Jan soulève un très bon point. Le vidage de l'origine des données ainsi que les données traitées assurez-vous que l'original est comme vous vous attendez.
OriginalL'auteur Brooke. | 2009-12-25
Vous devez vous connecter pour publier un commentaire.
La solution est probablement pour vous bande de barres obliques.
Les barres obliques sont ajoutés automatiquement lorsque les données proviennent de POST ou GET. Ceci est connu comme magic quotes et par défaut sont activés.
Vous pouvez supprimer ces barres obliques en utilisant
stripslashes()
Voir: http://php.net/manual/en/function.stripslashes.php
pas de problème du tout!
NB:,
get_magic_quotes_gpc()
renvoie toujours FALSE depuis PHP 5.4.0 doc, de sorte que le code devrait lire maintenantif ( get_magic_quotes_gpc() || version_compare(PHP_VERSION, '5.4.0', '>') ) {
.OriginalL'auteur mauris
Vous devez utiliser
$encodetext = htmlentities ($inputtext, ENT_QUOTES);
qui ne seront pas essayer d'échapper les guillemets simples et doubles. Regardez sous drapeaux ici: htmlentitiesOriginalL'auteur Beefo
Assurez-vous de ne pas passer le deuxième paramètres de vos appels à
htmlentities
ethtml_entity_decode
. Si vous le faites, ils vont échapper à/ne pas encoder les citations différemment. Vérifier la description de l'$quote_style
paramètre dans la documentation dehtmlentities
ethtml_entity_decode
.OriginalL'auteur outis