解析html标记目标c的最简单方法

时间:2015-05-01 08:47:06

标签: html ios objective-c html-parsing

在我的一个ios项目中,我将img tag作为图像的url。现在我必须从img标签中获取href。

什么是最好最简单的解决方案。

这是我从结果中获得的结果

<img src=\"http://www.shareatalent.com/wp-content/uploads/avatars/103533/103533-bpfull.jpg\" class=\"avatar user-103533-avatar avatar-450 photo\" width=\"450\" height=\"450\" alt=\"Profile photo of sb\" />

结果应为

http://www.shareatalent.com/wp-content/uploads/avatars/103533/103533-bpfull.jpg

2 个答案:

答案 0 :(得分:0)

将此库https://github.com/volodg/HTMLParser添加到您的项目中,并将libxml2和libxml2.2添加到您的项目中,然后将其添加到您的解析操作中(ex buttonaction):

#import "HTMLparser.h"
 NSError *error = nil;
NSString *html = @"<img src=\"http://www.shareatalent.com/wp-content/uploads/avatars/103533/103533-bpfull.jpg\" class=\"avatar user-103533-avatar avatar-450 photo\" width=\"450\" height=\"450\" alt=\"Profile photo of sb\" />
";
HTMLParser *parser = [[HTMLParser alloc] initWithString:html error:&error];

if (error) {
    NSLog(@"Error: %@", error);
    return;
}

HTMLNode *bodyNode = [parser body];


NSArray *spanNodes = [bodyNode findChildTags:@"img"];

for (HTMLNode *spanNode in spanNodes) {
    if ([[spanNode getAttributeNamed:@"class"] isEqualToString:@"avatar user-103533-avatar avatar-450 photo"]) {
        NSLog(@"%@", [spanNode getAttributeNamed:@"src"]); //Gives The Image URL
    }
}

答案 1 :(得分:-1)

HTML转换为NSAttributeString时有很多功能。但我会建议教程,帮助您完成基本功能,如颜色更改,字体更改,添加链接,添加内嵌图像。

Convert HTML string to NSAttributeString

希望这对你有所帮助。