Istnieje kilka różnych sposobów usuwania HTML tags
plików NSString
w formacie in Cocoa
.
Jednym ze sposobów jest wyrenderowanie ciągu znaków NSAttributedString
i pobranie wyrenderowanego tekstu.
Innym sposobem jest użycie NSXMLDocument's
- objectByApplyingXSLTString
metody zastosowania XSLT
transformacji, która to robi.
Niestety iPhone nie obsługuje NSAttributedString
lub NSXMLDocument
. Jest zbyt wiele przypadków skrajnych i źle sformułowanych HTML
dokumentów, abym czuł się komfortowo używając wyrażeń regularnych lub NSScanner
. Czy ktoś ma na to rozwiązanie?
Jedną z sugestii było po prostu szukanie znaków otwierających i zamykających znaczników, ta metoda nie zadziała z wyjątkiem bardzo trywialnych przypadków.
Na przykład te przypadki (z rozdziału książki kucharskiej Perla na ten sam temat) zepsują tę metodę:
<IMG SRC = "foo.gif" ALT = "A > B">
<!-- <A comment> -->
<script>if (a<b && a>c)</script>
<![INCLUDE CDATA [ >>>>>>>>>>>> ]]>