簡體   English   中英

從ios中的數據中刪除html標簽

[英]strip html tags from data in ios

我有一個在Web上具有管理端而在ios上具有用戶端的應用程序。 在Web端,我放置了tinymce編輯器,該編輯器允許管理員在段落和列表視圖中輸入文本。 在數據庫中輸入的數據也具有html標簽,在Web服務中,我正在以json格式獲取(從管理端輸入的)數據,但與此同時,我也正在獲取html標簽。

我以json格式獲取的部分數據看起來像這樣

{
  "list":[{"id":"1","state_info":"<p class=\"grid-para\" style=\"box-sizing: border-box; margin: 0px; font-size: 1.1em; line-height: 1.7em; padding: 1em 0px 0px; font-family: \'Open Sans\', sans-serif;\" align=\"justify\">ABC...some text &amp;</p>n<p style=\"box-sizing: border-box; margin: 0px; color: #333333; font-family: \'Open Sans\', sans-serif; font-size: 14px; line-height: 20px;\"><strong style=\"box-sizing: border-box;\">ABC...some text.</strong></p>n<p style=\"box-sizing: border-box; margin: 0px; color: #333333; font-family: \'Open Sans\', sans-serif; font-size: 14px; line-height: 20px;\">ABC...some text"}]
}

我嘗試過的部分代碼是

       @implementation NSString (stripHtml)
-(NSString*)stripHtml {
    NSString* string = [self stringByReplacingOccurrencesOfString:@"<p=%@&</p=%@" withString:@""];
    string = [NSString stringWithFormat:@"<root>%@</root>", string];


    NSStringEncoding encoding = string.fastestEncoding;
    NSData* data = [string dataUsingEncoding:encoding];
    NSXMLParser* parser = [[NSXMLParser alloc] initWithData:data];

    NSString_stripHtml_XMLParsee* parsee = [[NSString_stripHtml_XMLParsee alloc] init];
    parser.delegate = parsee;
    [parser parse];


    NSString* strippedString = [parsee getCharsFound];

    [parser release];
    [parsee release];

    return strippedString;
}

我曾嘗試使用許多編輯器,但幾乎所有的編輯器都在獲取標簽,如果我不使用任何編輯器,我會將所有數據作為單個段落獲取。

誰能告訴我如何刪除這些標簽而不刪除其效果。 或者我可以在沒有標簽的段落和列表視圖中輸入數據的方式

這樣的事情對您有用嗎?

- (NSString *)stripHTML{
    NSError *error = nil;
    NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[self dataUsingEncoding:NSUTF8StringEncoding]
                                                                            options:@{NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding),
                                                                                      NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType}
                                                                 documentAttributes:nil
                                                                              error:&error];
    if(error){
        NSLog(@"Error %@",[error localizedDescription]);
    }

    return [attributedString string];

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM