Существует несколько способов удалить 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 [ >>>>>>>>>>>> ]]>