To run the example project; clone the repo, and run
pod install from the Example directory first.
Or, for the easiest, run
pod try DBGHTMLEntities
To do a simple string decode:
NSString *encodedString = @"Texas A&M needs decoding."; DBGHTMLEntityDecoder *decoder = [[DBGHTMLEntityDecoder alloc] init]; NSString *decodedString = [decoder decodeString:encodedString];
If you have an NSMutableString you can decode in place using:
NSMutableString *encodedString = @"OH: "Parse all the strings!""; DBGHTMLEntityDecoder *decoder = [[DBGHTMLEntityDecoder alloc] init]; [decoder decodeStringInPlace:encodedString];
The second method,
decodeStringInPlace: was created explicitly for an issue I had while manipulating NSAttributedStrings to show Tweets with highlighted hashtags, user mentions, and proper URLs based on the Tweet entities. I ended up setting up highlighting attributes on parts of an
NSMutableAttributedString and then calling
NSMutableAttributedString *tweetString = ... // highlight user_mentions // highlight hashtags // replace urls DBGHTMLEntityDecoder *decoder = [[DBGHTMLEntityDecoder alloc] init]; [decoder decodeStringInPlace:tweetString.mutableString]; tweetLabel.attributedText = tweetString;
DBGHTMLEntities is available through CocoaPods, to install it simply add the following line to your Podfile:
.package(url: "https://github.com/dbgrandi/DBGHTMLEntities.git", from: "1.2.0") to your
This was essentially a lazy port from the htmlentities RubyGem by Paul Battley. Paul did a better job of providing more granular options. I really just needed the decoder options, so the encoder is not as configurable as his, yet.
DBGHTMLEntities is available under the MIT license. See the LICENSE file for more info.
|Last commit: 2 weeks ago|