Есть несколько различных способов удаления 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 [ >>>>>>>>>>>> ]]>