将纯文本从UITextView转换为HTML格式

时间:2013-10-23 01:56:02

标签: html ios uitextview

我有一个通过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方法中吗?

1 个答案:

答案 0 :(得分:0)

感谢@borrrden指出NSScanner。它拥有轻松做一些我想要的东西所需的所有工具。您可以在下面看到我的工作原理。我还使用了这个link来举例说明。

-(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);    

}