有几种不同的方法可以HTML tags
从NSString
in 中删除Cocoa
。
一种方法是将字符串渲染成一个NSAttributedString
,然后抓取渲染的文本。
另一种方法是使用NSXMLDocument's
-objectByApplyingXSLTString
方法来应用执行此操作的XSLT
转换。
不幸的是,iPhone 不支持NSAttributedString
或NSXMLDocument
. 有太多的边缘案例和格式错误HTML
的文档让我觉得使用 regex 或NSScanner
. 有人对此有解决方案吗?
一个建议是简单地查找开始和结束标记字符,除了非常琐碎的情况外,这种方法将不起作用。
例如,这些情况(来自同一主题的 Perl Cookbook 章节)会破坏这种方法:
<IMG SRC = "foo.gif" ALT = "A > B">
<!-- <A comment> -->
<script>if (a<b && a>c)</script>
<![INCLUDE CDATA [ >>>>>>>>>>>> ]]>