从字符串中删除HTML标记有很多答案,但我只想删除一个特定的属性:style。我正在处理的HTML有一些非常令人讨厌的内联样式,通常看起来像这样:
<p class="someclass" style="margin-left:2cm;text-indent:-36.0pt">Blah.</p>
为了调整应用程序的显示,我需要去除该样式属性。是否有快速处理文档的方法来执行此操作?它需要在iOS中运行。
谢谢!
答案 0 :(得分:1)
答案 1 :(得分:1)
最终,我使用了ElementParser和正则表达式(使用RegExKitLite)的组合,并根据需要删除了我不想要的标记并将其替换为我所做的标记。鉴于我的HTML来自可信来源,这应该没问题。
这远非理想,但它正在发挥作用。 : - )
答案 2 :(得分:0)
可能最简单(但也非常昂贵(CPU密集型))是使用NSAttributedString+HMTL将其转换为NSAttributedString。然后你可以从中获得NSString。
像这样。
NSAttributedString *attrstring = [NSAttributedString attributedStringWithHTML:[htmlString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] options:nil];
//Access the string itself like this.
[attrstring string];
[警告:虽然这是最简单的方法,(对你而言),它可能不是最好的方式,因为它是相当昂贵的待办事项,如果在主线程上完成,将阻止你的UI(显而易见的原因)]