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