ソース コードを Web サイトから文字列に保存し、すべての html タグを正常に削除しました。ただし、段落間にランダムな空白があります。1 行だけの場合もあれば、4 行または 5 行になる場合もあります。
これが私がしたことです
- (NSString *)parseHTMLText:(NSString *)text {
NSString *startingPt = @"<!-- (START) Pagination Content Wrapper -->";
NSString *endingPt = @"<!-- (END) Pagination Content Wrapper -->";
//isolate body text from entire source code
NSString *leftTrimmed = [text substringFromIndex:NSMaxRange([text rangeOfString:startingPt])] ;
NSString *completeTrimmed = [leftTrimmed substringToIndex:[leftTrimmed rangeOfString:endingPt].location];
completeTrimmed = [completeTrimmed stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
completeTrimmed = [self removeHTMlTagsFromString:completeTrimmed];
completeTrimmed = [completeTrimmed stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
return completeTrimmed;
}
- (NSString *)removeHTMlTagsFromString:(NSString *)text {
//check if there are any html tags
if ([text rangeOfString:@"<"].location != NSNotFound && [text rangeOfString:@">"].location != NSNotFound) {
//find first index of "<"
int startIndex = [text rangeOfString:@"<"].location;
NSString *startOfTag = [text substringFromIndex:startIndex];
// find length to ">"
int length = [startOfTag rangeOfString:@">"].location + 1;
text = [text stringByReplacingCharactersInRange:NSMakeRange(startIndex, length) withString:@""];
text = [self removeHTMlTagsFromString:text];
}
return text;
}
これを試しましたが、うまくいきません
completeTrimmed = [completeTrimmed stringByReplacingOccurrencesOfString:@" " withString:@""];