Yep, all the functions are compatible. The only one that wouldn't compatible is file_put_contents() if I were using it, which I wish I could...but it only work in PHP 5.
I think the problem occurs during POST. The htmlentities() function works fine. What it does (if anyone was wondering) is converts the "<" and ">" and a few other things to "words". "<" would become < and ">" would become >. Therefore, the html code will not render itself to display as a page, but rather as text.
Anyways, what confuses me is that you are supposed to use html_entity_decode() to decode the html and change < back to "<", etc., etc. But, I didn't have to do this. I'm thinking that during the POST stage, it decodes all the tags and also somehow messes it up, adding the \'s in.
I don't know...this is too confusing :?