有几个不同的方法来去除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 [ >>>>>>>>>>>> ]]>