繁体   English   中英

检查NSString是否为非HTML上的HTML字符串?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM