Как преобразовать разметку HTML NSString в простой текст NSString?

Поиск сети для примера того, как преобразовать HTML, представляет разметку в виде строки в простой текст.

Я получаю свою информацию от канала, который содержит HTML, Я затем отображаю эту информацию в текстовом Представлении. делает UITextView имейте свойство для преобразования HTML или сделайте я должен сделать это в коде. Я попробовал:

NSString *str = [NSString stringWithCString:self.fullText encoding:NSUTF8StringEndcoding];

но, кажется, не работает. Кто-либо получил какие-либо идеи?

12
задан Guillaume Algis 21 May 2015 в 16:32
поделиться

3 ответа

Вы можете сделать это, проанализировав html с помощью класса NSScanner

- (NSString *)flattenHTML:(NSString *)html {

    NSScanner *theScanner;
    NSString *text = nil;
    theScanner = [NSScanner scannerWithString:html];

    while ([theScanner isAtEnd] == NO) {

        [theScanner scanUpToString:@"<" intoString:NULL] ; 

        [theScanner scanUpToString:@">" intoString:&text] ;

        html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>", text] withString:@""];
    }
    //
    html = [html stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

    return html;
}

Надеюсь, это поможет.

33
ответ дан 2 December 2019 в 03:48
поделиться

Если вы нужно представить текст только для чтения, почему бы не использовать UIWebView?

-1
ответ дан 2 December 2019 в 03:48
поделиться

я думаю, вы не можете сделать это напрямую ... однако вы можете использовать парсер NSXML, проанализировать HTML и получить именно то, что вам нужно ...

-1
ответ дан 2 December 2019 в 03:48
поделиться