将新行/中断/段落添加到长NSString中

时间:2013-08-29 22:25:21

标签: ios objective-c nsstring

我有一个来自Atom XML Feed的NSString。我得到的数据充满了HTML语法,各种标签,链接等等。我接受整个字符串并通过stringByConvertingHTMLToPlainText库中的MWFeedParser方法运行它。

这很有效,给了我很长的NSString - 基本上是我解析的Feed的完整新闻故事。

我想把那个长的单个NSString分解成段落,使其在我的应用程序中更具可读性,而不是一个长格式的无格式文本列表。无论如何我可以应用段落或新行并打破这样的字符串吗?

1 个答案:

答案 0 :(得分:1)

您可以使用componentsSeparatedByString:将长字符串拆分为字符串数组。然后对于数组中的每个元素(段落),通过stringByConvertingHTMLToPlainText运行字符串以去除剩余的html标记。

您可能希望在剥离html标记后对内容或段落进行更多的工作。

NSString *htmlString = @"<p>first paragraph</p><p>second paragraph</p><p>thrid paragraph</p>";
NSArray *paragraphs = [htmlString componentsSeparatedByString: @"<p>"]; // still includes </p>
for (NSString *singleParagraph in paragraphs) {
    // strip out remaining html tags
    singleParagraph = [singleParagraph stringByConvertingHTMLToPlainText];
}

// strip out empty or irrelevant indexes and paragraphs you don't need