Có một số cách khác nhau để xóa HTML tags
khỏi một NSString
trong Cocoa
.
Một cách là kết xuất chuỗi thành một NSAttributedString
và sau đó lấy văn bản được kết xuất.
Một cách khác là sử dụng NSXMLDocument's
- objectByApplyingXSLTString
method để áp dụng một XSLT
phép biến đổi thực hiện nó.
Thật không may, iPhone không hỗ trợ NSAttributedString
hoặc NSXMLDocument
. Có quá nhiều trường hợp cạnh và HTML
tài liệu không đúng định dạng để tôi cảm thấy thoải mái khi sử dụng regex hoặc NSScanner
. Có ai có giải pháp cho điều này không?
Một gợi ý là chỉ cần tìm các ký tự thẻ mở và đóng, phương pháp này sẽ không hoạt động trừ những trường hợp rất nhỏ.
Ví dụ: những trường hợp này (từ chương Perl Cookbook về cùng chủ đề) sẽ phá vỡ phương pháp này:
<IMG SRC = "foo.gif" ALT = "A > B">
<!-- <A comment> -->
<script>if (a<b && a>c)</script>
<![INCLUDE CDATA [ >>>>>>>>>>>> ]]>