J'essaie de décoder le long trait codé d'une entité numérique en une chaîne, mais il semble que je ne trouve pas une fonction qui puisse le faire correctement. Le meilleur que j'ai trouvé est mb_decode_numericentity(), cependant, pour une raison quelconque, il ne parvient pas à décoder le long tiret et d'autres caractères spéciaux.Comment décoder des entités HTML numériques en PHP
$str = '–';
$str = mb_decode_numericentity($str, array(0xFF, 0x2FFFF, 0, 0xFFFF), 'ISO-8859-1');
Cela renverra "?".
Quelqu'un sait comment résoudre ce problème?
Un tiret long est-il présent dans l'ISO-8859-1? –
@ColShrapnel: En effet pas. Il est présent dans Windows cp1252, qui est similaire, mais pas ISO-8859-1. Mieux: utilisez UTF-8. – bobince
Certainement, il n'y a pas de long tiret dans ISO/CEI 8859-1 (Latin-1). En fait, c'est un caractère Unicode, et en utilisant UTF-8 aidé. C'était mon erreur que j'ai oublié de changer l'encodage dans le navigateur. Merci à tous! – Yuriy