javascript - 从 ios 数据中去除 html 标签

标签 javascript jquery html ios json

我有一个应用程序,在网络上有管理端,在iOS上有用户端。在网络端,我放置了tinymce编辑器,允许管理员在段落和 ListView 中输入文本。在数据库中输入的数据也有 html 标签,在网络服务中,我以 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;
}

我尝试使用许多编辑器,但我得到了几乎所有编辑器的标签,如果我不使用任何编辑器,我将所有数据作为单个段落获得。

谁能告诉我如何删除这些标签而不消除其效果。或者也许是我可以在没有标签的段落和 ListView 中输入数据的方法

最佳答案

这样的东西对你有用吗?

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

}

关于javascript - 从 ios 数据中去除 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31426075/

相关文章:

javascript - 动态创建 Bootstrap CSS 警报消息

html - 我需要使用 css 网格使容器在页面上居中

javascript - 在python中使用JavaScript函数抓取页面的问题

javascript - 在 JavaScript 中编辑图像

javascript - 当一个div元素在其上方的另一个div元素的高度动态增加时,调整该div元素的位置

javascript - jQuery 中列的总计

javascript - CakePHP 3.x - 编辑 : Dates having empty fields upon submission despite them already existing

javascript - 如何在不修改 "this"的情况下包装现有事件处理程序?

javascript - Bootstrap Accordion 展开/折叠全部无法正常运行

javascript - 你如何检测 "search"HTML5 输入的清除?