私は現在、Hpple を使用して HTML を解析しています。
TFHpple *htmlParser = [TFHpple hppleWithHTMLData:[currentString dataUsingEncoding:NSUTF8StringEncoding]];
NSString *paragraphsXpathQuery = @"//p//text()";
NSArray *paragraphNodes = [htmlParser searchWithXPathQuery:paragraphsXpathQuery];
if ([paragraphNodes count] > 0) {
NSMutableArray *tempArray = [NSMutableArray array];
for (TFHppleElement *element in paragraphNodes) {
[tempArray addObject:[element content]];
}
article.paragraphs = tempArray;
}
このようにして段落の配列を取得し、これを使用NSString *result = [myArray componentsJoinedByString:@"\n\n"];
して、改行を含む 1 つのテキスト本文にコンパイルできます。
ただし、html にタグが含まれている場合、それらは個々のエンティティとして解釈され、それ自体で改行されるため、1 日の終わりに次のような行から:
<p>I went to the <a href="blablabla.html">shop</a> to get some milk!</a></p>
<p>It was awesome.</p>
私はこれを得る:
I went to the
shop
to get some milk!
It was awesome!
もちろん、これを取得したいと思います(タグ内の他のタグは無視してp
ください):
I went to the shop to get some milk!
It was awesome!
あなたは私を助けることができます?