0

我有一个通过 RestKit 与服务器通信的 iOS 应用程序。我正在开发一个发布功能,用户可以将文本上传到服务器。鉴于网页也使用来自服务器的数据,因此已决定上传到服务器的文本应为 HTML 格式。

我四处寻找一个转换器,但我似乎只能找到一个从 HTML 到纯文本的转换器,而不是另一种方式。所以我正在做一个基本的工作来完成我需要的东西。我遇到了一个路障。我不确定如何检测纯文本中的段落。

这是我目前所做的。

-(void)parseText {
    //this method is to parse the string into HTML tags
    NSString *htmlTag = @"<p class=\"pt\"data-seq=\"1\">";
    NSString *articleText = articleField.text;

    NSString *preTagArticleText = [htmlTag stringByAppendingString:articleText];
    NSString *postTagArticleText = [taggedArticleText stringByAppendingString:@"</p>"];

    NSLog(@"%@",appendedArticleText);    

}

如果我只有一个段落,日志显示这可以正常工作。我的下一步很可能是创建一个循环来检测回车/新段落并像下面那样格式化文本。

<p class="pt" data-seq="1">The contents of paragraph 1</p> 
<p class="pt" data-seq="2">The contents of paragraph 2</p>
<p class="pt" data-seq="3">The contents of paragraph 3</p>

有人可以告诉我如何检测回车并将其实现到我的parseText方法中吗?

4

1 回答 1

0

感谢@borrrden 指出NSScanner。它拥有轻松完成我想要的事情所需的所有工具。你可以在下面看到我是如何让它工作的。我还使用此链接获取了一些示例。

-(void)parseText {
    appendedArticleText = @"";
    NSString *articleText = articleField.text;
    NSString *temp = nil;
    NSScanner *theScanner = [NSScanner scannerWithString:articleText];
    int count = 0;

    while (![theScanner isAtEnd]) {
        count = count +1;
        NSString *htmlTag = [NSString stringWithFormat:@"<p class=\"pt\"data-seq=\"%d\">",count];
        [theScanner scanUpToCharactersFromSet:[NSCharacterSet newlineCharacterSet] intoString:&temp];

        NSString *taggedArticleText = [htmlTag stringByAppendingString:temp];
        NSString *formattedText = [taggedArticleText stringByAppendingString:@"</p>"];
        appendedArticleText = [appendedArticleText stringByAppendingString:formattedText];
    }

NSLog(@"%@",appendedArticleText);    

}
于 2013-10-23T03:37:19.270 回答