1

J'ai une API qui renvoie du texte qui contient des entités HTML, par ex.  . Ceci est géré gentiment sur le web et montré comme espace, mais sur les applications mobiles, il est affiché en tant que texte avec la valeur &nbsp. J'utilise React Native, mais je pense que le problème se produirait aussi si je codais en Android ou Ojbective-C. Quelle est l'approche générale pour afficher les entités HTML sur les applications mobiles, exactement comme elles sont affichées sur le Web? J'ai essayé he pour coder les chaînes et les décoder ensuite. Cela a fonctionné pour quelques exemples, mais par exemple pour &nbsp cela n'a pas fonctionné.Conversion d'entités html pour mobiles

Merci :)

+0

'he' gère'   'parfaitement bien. – SLaks

+0

@SLaks il semble que j'avais besoin d'une confirmation que ça marche, alors j'irais chercher le bug ailleurs: D Il fonctionne avec des données fictives et enfin je trouve l'erreur dans mes données. Merci pour le commentaire: D – giliev

Répondre

1

C'était mon erreur de s'attendre à he fonctionner correctement avec la version majuscule des entités HTML. Dans l'API j'utilise certaines valeurs qui viennent toujours en majuscules, donc dans mon cas la solution la plus rapide était de les convertir en minuscules, d'appliquer la fonction he.decode() puis de convertir la valeur en majuscule. Si je trouve un cas où les chaînes ont des lettres majuscules et minuscules, ce serait une tâche plus difficile et aura besoin d'une autre solution de contournement.

1

Il y a un tas de paquets qui permettront le rendu du HTML en natif réagir. En général, cependant, je dirais que c'est une mauvaise idée. Votre API est fortement couplée à des choses qui ne peuvent que rendre le HTML. Une meilleure idée serait de renvoyer le texte brut de l'API et de le laisser à l'application pour le rendre bien.