Objective-C:如何替换HTML实体?

ari*_*mus 14 html iphone objective-c special-characters

我从Internet获取文本,它包含html实体(即ó=ó).我想将此文本显示到自定义iPhone单元格中.

我试图在我的自定义单元格中使用UIWebView,但我更喜欢使用多行UILabel.问题是我找不到任何替换这些HTML实体的方法.

Mic*_*all 36

查看我的NSString类别的HTML.以下是可用的方法:

- (NSString *)stringByConvertingHTMLToPlainText;
- (NSString *)stringByDecodingHTMLEntities;
- (NSString *)stringByEncodingHTMLEntities;
- (NSString *)stringWithNewLinesAsBRs;
- (NSString *)stringByRemovingNewLinesAndWhitespace;
Run Code Online (Sandbox Code Playgroud)

  • 此类别似乎正在使用Google Toolbox for Mac的类别. (2认同)

Mat*_*ens 12

Google Toolbox for Mac包含一个与iPhone兼容的NSString添加功能,可以为您执行此操作:gtm_stringByUnescapingFromHTMLGTMNSString + HTML.hGTMNSString + HTML.m中定义.如果在.m中注释掉对_GTMDevLog和#import"GTMDefines.h"的调用,则只需将这两个文件添加到项目中.


War*_*olf 6

您可以创建一个方法,可以用您给出的字符串替换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;
}
Run Code Online (Sandbox Code Playgroud)

通过发送字符串作为参数来调用此方法来替换字符串.