Supprimer les balises HTML dans une NSString
Dans un flux RSS, je récupère un article au format HTML et je souhaite l’afficher sans tenir compte des balises HTML. Pour supprimer les balises HTML (tags) d’une chaine de caractère NSString, j’ai intégré la solution dans une « extension » de la classe NSString.
Tout d’abord le fichier NSString-Extensions.h
@interface NSString(Extensions) - (NSString *)removeHTMLtags; @end
Puis le fichier NSString-Extensions.m qui contient la méthode removeHTMLtags qui permet de supprimer les balises HTML d’une NSString.
#import "NSString-Extensions.h" @implementation NSString(HTML) - (NSString *)removeHTMLtags { NSString *text = nil; NSString* html = self; NSScanner *theScanner = [NSScanner scannerWithString:html]; while ([theScanner isAtEnd] == NO) { [theScanner scanUpToString:@"<" intoString:NULL] ; [theScanner scanUpToString:@">" intoString:&text] ; html = [ html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>", text] withString:@" "]; } return html; } @end
Source : http://rudis.net/content/2009/01/21/flatten-html-content-ie-strip-tags-cocoaobjective-c