Cons of this approach include among probably many any fields which users hack in html. A simple br not br/ and it breaks. There is probably more but I implemented this a while ago and cant recall everything. & characters and knowing if they were an entity or not I remember causing problems.