Décoder entitées HTML

Bonjour,


Je travaille avec une chaine de caractère qui contient des caractères HTML tels que



’

que je souhaiterais transformer mais je ne trouve pas comment faire.


 


Merci de votre aide


Réponses

  • AliGatorAliGator Membre, Modérateur
    Si c'est pour iOS7+, tu peux utiliser NSAttributedString, son initWithData:options: et l'option HTML :

    NSDictionary *options = @{ NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType,
    NSCharacterEncodingDocumentAttribute :@(NSUTF8StringEncoding) };

    NSData *data = [htmlString dataUsingEncoding:NSUTF8StringEncoding];
    NSAttributedString* str = [[NSAttributedString alloc] initWithData:data
    options:options
    documentAttributes:nil
    error:nil];
    Et tu te retrouves avec une chaà®ne qui en plus a les attributs décrits par les tags HTML (et si tu ne veux que le texte sans la mise en forme, tu peux récupérer str.string pour avoir la NSString sans attributs.


    Ce n'est pas la seule façon de faire, il en existe d'autres qui trainent sur le net, mais en + avec celle-là  tu as aussi le formatage HTML interprété gratuitement au passage.
  • Bonjour,


    Merci pour ta réponse mais j'ai oublié de présiser que je code en Swift


  • AliGatorAliGator Membre, Modérateur
    mars 2015 modifié #4
    Et alors ? ça change rien ;)

    Suffit d'adapter la syntaxe mais tu peux utiliser les mêmes classes...
  • TheFlow_TheFlow_ Membre
    mars 2015 modifié #5

    C'est bon j'ai adapté la syntaxe et cela fonctionne    mais cela ralenti pas mal l'application pour je ne sais quelle raison


  • Salut,


    Je viens de créer une extension String qui pourrait être utile pour les personnes qui ont eu le même problème que le mien. Faites un tour sur cette repo GitHub ;)


Connectez-vous ou Inscrivez-vous pour répondre.