有几个不同的方法来去除HTML tags从NSString在Cocoa。
一种方法是将字符串呈现为NSAttributedString,然后获取呈现的文本。
另一种方法是使用NSXMLDocument's- objectByApplyingXSLTString方法来应用执行XSLT此操作的转换。
不幸的是,iPhone不支持NSAttributedString或NSXMLDocument。有太多的边缘情况和畸形HTML,我觉得使用正则表达式或舒适的文档NSScanner。有人对此有解决方案吗?
一种建议是简单地寻找打开和关闭标签字符,这种方法除了非常琐碎的情况以外,是行不通的。
例如,这些情况(来自同一主题的Perl Cookbook章节)将破坏此方法:
<IMG SRC = "foo.gif" ALT = "A > B">
<!-- <A comment> -->
<script>if (a<b && a>c)</script>
<![INCLUDE CDATA [ >>>>>>>>>>>> ]]>