objective c - Remove HTML Tags from an NSString on the iPhone -
there couple of different ways remove html tags
nsstring
in cocoa
.
one way render string nsattributedstring
, grab rendered text.
another way use nsxmldocument's
-objectbyapplyingxsltstring
method apply xslt
transform it.
unfortunately, iphone doesn't support nsattributedstring
or nsxmldocument
. there many edge cases , malformed html
documents me feel comfortable using regex or nsscanner
. have solution this?
one suggestion has been opening , closing tag characters, method won't work except trivial cases.
for example these cases (from perl cookbook chapter on same subject) break method:
<img src = "foo.gif" alt = "a > b"> <!-- <a comment> --> <script>if (a<b && a>c)</script> <![include cdata [ >>>>>>>>>>>> ]]>
a quick , "dirty" (removes between < , >) solution, works ios >= 3.2:
-(nsstring *) stringbystrippinghtml { nsrange r; nsstring *s = [[self copy] autorelease]; while ((r = [s rangeofstring:@"<[^>]+>" options:nsregularexpressionsearch]).location != nsnotfound) s = [s stringbyreplacingcharactersinrange:r withstring:@""]; return s; }
i have declared category os nsstring.
Comments
Post a Comment