Convertir ' une apostrophe en PHP
Mes données ont des en de nombreuses entités HTML (•
...etc), y compris '
. Je veux juste convertir son caractère équivalent.
Je suppose htmlspecialchars_decode (), mais pas de chance. Pensées?
J'ai essayé ceci:
echo htmlspecialchars_decode('They're here.');
Mais il retourne: They're here.
Edit:
J'ai aussi essayé de html_entity_decode(), mais elle ne semble pas fonctionner:
echo html_entity_decode('They're here.')
renvoie également: They're here.
OriginalL'auteur Dave | 2011-07-22
Vous devez vous connecter pour publier un commentaire.
Depuis
'
ne fait pas partie de l'HTML 4.01, il n'est pas converti à'
par défaut.En PHP 5.4.0, extra drapeaux ont été introduites pour gérer les différentes langues, dont chacun comprend
'
comme une entité.Cela signifie que vous pouvez faire quelque chose comme ceci:
Vous aurez besoin à la fois
ENT_QUOTES
(convertir les guillemets simples et doubles) etENT_HTML5
(ou dans la langue de drapeau autre queENT_HTML401
, afin de choisir le plus approprié à votre situation).Avant PHP 5.4.0, vous aurez besoin d'utiliser str_replace:
OriginalL'auteur cmbuckley
La
'
entité et beaucoup d'autres ne sont pas dans le PHP dans la table de conversion utilisée parhtml_entity_decode
ethtmlspecialchars_decode
fonctions, malheureusement.Vérifier ce commentaire du manuel PHP:
http://php.net/manual/en/function.get-html-translation-table.php#73410
OriginalL'auteur J. Bruni
Il y a une "bonne" voie, sans l'aide de
str_replace
, @cbuckley a droite c'est parce que la valeur par défaut pourhtml_entity_decode
est le HTML 4.01, mais vous pouvez définir un HTML 5 paramètre qui va décoder.L'utiliser comme ceci:
OriginalL'auteur eric.itzhak
Cela devrait fonctionner:
OriginalL'auteur Vikas Shukla
Ce que vous êtes réellement à la recherche pour est
html_entity_decode()
.html_entity_decode()
se traduit par toutes les entités de caractères, tandis quehtmlspecialchars_decode()
seulement inverse de ce quehtmlspecialchars()
encoder.EDIT: en Regardant les exemples de la page, j'ai fait un peu plus d'investigation et la suite semble ne pas fonctionner:
C'est pourquoi il ne fonctionne pas. Pourquoi il n'est pas dans la table de recherche est autre chose, quelque chose que je ne peux pas répondre malheureusement.
Unfortuanately, vous devrez peut-être rouler vos propres... Semble que PHP n'a pas d'inversion de soutien
'
pour une raison quelconque. Voir mon edit pour en savoir plus.Et il semble que c'était parce que
'
n'est pas une partie de HTML 4.01.sonne comme une cause probable.
'
a été tiré en XHTML pour la compatibilité avec des fichiers XML.OriginalL'auteur Matthew Scharley
Avez-vous essayé d'utiliser
echo htmlspecialchars('They're here.')
?Je pense que c'est ce que vous cherchez.
OriginalL'auteur Michael Allen