iOS:在HTML NSString中查找特定段落的结尾

时间:2012-11-19 20:33:27

标签: html objective-c ios nsstring

所以我收到一个带有这样的html代码的NSString:

<p class="img"><img src="blahblahblah"></p><p>This is some text</p>

我想找到img-classed段落的结尾,所以我可以在两段之间插入一个标题。请注意:

  • img-classed段落不一定是字符串中的第一段。
  • 字符串中可以有多个img-classed段落,但我只需要在第一个
  • 之后插入一些内容

我想在字符串中第一个img-classed </p>之后找到字符位置,而不是解析它。

1 个答案:

答案 0 :(得分:2)

你想要解析,实际上没有其他选择。但是请务必找到一个非常独特的标准。

这是Cocoa + NSString解决方案:

            NSScanner *scanner = [NSScanner scannerWithString:originalString];


            [scanner scanUpToString:@"<p class=\"img">" intoString:nil];
            [scanner scanString:@"par_categorie_2\">" intoString:nil];

            [scanner scanUpToString:@"</p>" intoString:nil];
            [scanner scanString:@"</p>" intoString:nil];

            NSInteger insertionPoint = scanner.scanLocation;

            NSMutableString *modifiedString = [[NSMutableString alloc] initWithString:originalString];
            [modifiedString insertString:insertedString atIndex:insertionPoint];