我从Internet获取文本,它包含html实体(即ó
=ó).我想将此文本显示到自定义iPhone单元格中.
我试图在我的自定义单元格中使用UIWebView,但我更喜欢使用多行UILabel.问题是我找不到任何替换这些HTML实体的方法.
查看我的NSString类别的HTML.以下是可用的方法:
- (NSString *)stringByConvertingHTMLToPlainText; - (NSString *)stringByDecodingHTMLEntities; - (NSString *)stringByEncodingHTMLEntities; - (NSString *)stringWithNewLinesAsBRs; - (NSString *)stringByRemovingNewLinesAndWhitespace;
Google Toolbox for Mac包含一个与iPhone兼容的NSString添加功能,可以为您执行此操作:gtm_stringByUnescapingFromHTML
在GTMNSString + HTML.h和GTMNSString + HTML.m中定义.如果在.m中注释掉对_GTMDevLog和#import"GTMDefines.h"的调用,则只需将这两个文件添加到项目中.
您可以创建一个方法,可以用您给出的字符串替换html实体.
+(NSString*)parseString:(NSString*)str { str = [str stringByReplacingOccurrencesOfString:@"–" withString:@"-"]; str = [str stringByReplacingOccurrencesOfString:@"”" withString:@"\""]; str = [str stringByReplacingOccurrencesOfString:@"“" withString:@"\""]; str = [str stringByReplacingOccurrencesOfString:@"ó" withString:@"o"]; str = [str stringByReplacingOccurrencesOfString:@"'" withString:@"'"]; return str; }
通过发送字符串作为参数来调用此方法来替换字符串.