Toss the HTML at NSXMLParser. Use the events to build up an attributed string matching the HTML rendering. You'll need to wrap the post content HTML in a proper root node, or some posts will bail out, because they'll be an XML "forest" rather than a proper tree with a single root.

I still have plenty of issues to iron out in my rendering as well – look for the "Markdown:" issues. [gitlab.com]