Є кілька різних способів видалення 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 [ >>>>>>>>>>>> ]]>