As Promised

- Awwwwwwwwwwwwwwwwwwwwwwwwwwwwwww!
I never break my word. Or at least not very often.

I never break my word. Or at least not very often.
In order to achieve something during my three-month—fingers crossed—summer vacation, I have just played out all 33 levels of Bloxorz. In addition to keeping my gray matter fresh as a mojito, it proved to be great fun. The game is very well-designed and compelling. If it weren’t for the awful name, it’d be damn near perfect; the author obviously fell victim to the lolcats meme.
So is it just me or does Safari for Windows not support tooltips? So far, I’ve never been able to get them to appear, not in the menus, not for title attributes, never.
Another thing that they need to work on is special characters. I don’t have a freaky Mac keyboard, so I’d like to be able to type a curly quote by holding Alt and entering the ASCII code.
Windows Safari really needs to stop acting like a Mac application. But no, those Apple hippies are so convinced that they have a superior product that they’d rather set up an entire emulation layer than use native code. God forbid it might actually work.
Implementing Markdown and SmartyPants in comments has come at a price.
Before I started allowing rich text, I’d just run the input through htmlspecialchars() and that’d be it. Now, with the formatters, if the user enters XML or special characters, it keeps those intact. If I were to run it through htmlspecialchars() prior to formatting, stuff like curly quotes and blockquotes would no longer work.
So how do I fix this? Ideally, Markdown would have an option to take care of it. Since it doesn’t, I presume it’s a matter of intelligently converting parts of the input to valid XML. That’s going to be a bitch. So please be nice and don’t enter HTML for now.
Update: I assume the least obtrusive way to achieve this is to replace all instances of the < symbol with < and leave the other special characters intact. To my best knowledge, XML allows the > symbol in text nodes, which is a good thing, since Markdown needs it for blockquotes. In addition, quotation marks should be taken care of by SmartyPants. Feel free to try to prove me wrong by posting something that breaks my implementation.
Update, volumen dos: Dagnabbit, forgot about entities. Ampersands are now converted to & as well.