[英]Check if NSString is HTML string on non-HTML?
我正在使用UITextView在屏幕上显示文本。 我也想在同一TextView中显示HTML文本。 我想要的是,当字符串包含任何HTML数据时,则应根据HTML格式化程序显示它,否则textview应该使用我定义的字体。
这是我用来在textview中显示HTML文本的代码:
NSString *htmlString = promotion.content;
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
self.promotionTextView.attributedText = attributedString;
我只想检查htmlString中接收的字符串是否包含任何html数据。 我该怎么做?
我将寻找html开始/结束标签并获取它们之间的子字符串,如下所示:
- (NSString *)htmlFromString:(NSString *)string
{
NSString *htmlString = nil;
if([string rangeOfString:@"<html>"].location != NSNotFound && [string rangeOfString:@"</html>"].location != NSNotFound) {
NSRange firstRange = [string rangeOfString:@"<html>"];
NSRange secondRange = [string rangeOfString:@"</html>"];
if(firstRange.location < secondRange.location) {
NSRange htmlRange = NSMakeRange(firstRange.location, secondRange.location + secondRange.length);
htmlString = [string substringWithRange:htmlRange];
}
}
return htmlString;
}
我没有尝试过,但是它认为它应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.