从ios中的数据中剥离HTML标签
strip html tags from data in ios
我有一个应用程序,在web管理端和ios用户端。在web端,我已经放置了定时编辑器,允许管理员在段落和列表视图中输入文本。在数据库中输入的数据也有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 &</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];
}
相关文章:
- 如何在tinymce编辑器中将点击事件绑定到html标签
- 如何将具有相同功能的两个select html标签的两个JS组合在一起
- 带有html标签的Summernote内容
- 为什么我的HTML标签消失了
- 如何忽略单词like“”中的未使用空格;测试-文本”;同时构建html标签
- 在AngularJS中过滤-html标签中的文本
- 如何在另一个 html 标签内选择 web 元素硒 Web 驱动程序与 html 源
- 我怎么能"合并”;两个HTML标签
- JavaScript if else 语句来显示 html 标签
- 在 JavaScript 中实现 HTML 标签
- 如何用jQuery替换HTML标签的一部分
- 在javascript文件中编写html标签而不是“text”
- 窗口确认在 AJAX 帖子中打印 HTML 标签
- 如何在javascript函数中弹出php(与html标签混合)文件
- HTML标签的问题与Javascript一致
- 使用Javascript获取所有html标签
- 如何从JavaScript外包HTML标签
- Ckeditor:如何在mysql中避免使用Ckeditor中的html标签来节省时间
- 如何在 jquery 和 javascript 中检索 html 标签属性
- 如何获取html标签的字体大小