使用IPhone SDK删除HTML文件中的标签的问题?

时间:2012-12-06 06:00:12

标签: iphone html objective-c ios nsstring

在我的应用程序中,我需要阅读HTML页面。对于那个Purapose我正在删除HTML标签使用下面的代码。

-(NSString *) stringByStrippingHTML:(NSString *)htmlStr
 {
    NSRange r;
    while ((r = [htmlStr rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
        htmlStr = [htmlStr stringByReplacingCharactersInRange:r withString:@""];
    htmlStr=[htmlStr stringByReplacingOccurrencesOfString:@"&nbsp;" withString:@"\n"];
    NSLog(@"html update is %@",htmlStr);
    return htmlStr; 
}

我正在获取结果删除所有标签其工作正常。但现在在我的HTML页面中,我需要阅读img Tag及其src元素。 有没有办法读取specic标签完整信息。 请在这个任何一个帮助。

感谢提前。

2 个答案:

答案 0 :(得分:0)

Link将有助于查看以下方法

  

//剥离HTML标记&amp;注释,删除额外的空格并解码HTML字符实体。   
- (NSString *)stringByConvertingHTMLToPlainText;

     

//使用GTM解码所有HTML实体。   
- (NSString *)stringByDecodingHTMLEntities;

     

//使用GTM对所有HTML实体进行编码。   
- (NSString *)stringByEncodingHTMLEntities;

     

//最小的unicode编码只会覆盖表中的字符   
- (NSString *)stringByEncodingHTMLEntities:(BOOL)isUnicode;

     

//用<br />标记替换换行符。   
- (NSString *)stringWithNewLinesAsBRs;

     

//从字符串中删除换行符和空格。   
- (NSString *)stringByRemovingNewLinesAndWhitespace;

答案 1 :(得分:0)

您可以使用

-(void)myMethod
{


NSString* htmlStr = @"<some>html</string>";
NSString* strWithoutFormatting = [self stringByStrippingHTML:htmlStr];

 }

-(NSString *)stringByStrippingHTML:(NSString*)str
 {
  NSRange r;
  while ((r = [str rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location     != NSNotFound)
  {
    str = [str stringByReplacingCharactersInRange:r withString:@""];
  }
  return str;
 }