Ada beberapa cara berbeda untuk menghapus HTML tags
dari NSString
dalam Cocoa
.
Salah satu caranya adalah dengan membuat string menjadi NSAttributedString
dan kemudian mengambil teks yang dirender.
Cara lain adalah dengan menggunakan NSXMLDocument's
- objectByApplyingXSLTString
metode untuk menerapkan XSLT
transformasi yang melakukannya.
Sayangnya, iPhone tidak mendukung NSAttributedString
atau NSXMLDocument
. Ada terlalu banyak kasus tepi dan HTML
dokumen rusak sehingga saya merasa nyaman menggunakan regex atau NSScanner
. Apakah ada yang punya solusi untuk ini?
Salah satu saran adalah hanya mencari karakter tag pembuka dan penutup, metode ini tidak akan berfungsi kecuali untuk kasus yang sangat sepele.
Misalnya, kasus ini (dari bab Buku Resep Perl tentang subjek yang sama) akan merusak metode ini:
<IMG SRC = "foo.gif" ALT = "A > B">
<!-- <A comment> -->
<script>if (a<b && a>c)</script>
<![INCLUDE CDATA [ >>>>>>>>>>>> ]]>