【发布时间】:2015-12-08 00:01:31
【问题描述】:
我正在使用 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 格式是否正确?展示一个你可以期待的例子。 HTML 中的哪些内容可以保证存在?
-
其实html没有特定的格式,文本中的任何标签都会被认为是html
-
也许比较长度:
if ([[htmlString dataUsingEncoding:NSUnicodeStringEncoding] length]==[attributedString length]){//No Tags HTML have been interpreted} -
不,实际上附加在属性字符串末尾的属性会改变它的大小。所以长度总是不同的
-
任何标签的正则表达式,但是如果有一个“标签喜欢”的文本,你会得到一个误报
标签: ios objective-c nsstring nsattributedstring nsmutablestring