[英]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 &</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.