I have just set about the task of stripping out HTML entities from our database, as we do a lot of crawling and some of the crawlers didn\'t do this at input time :(
You could use xpath (HTML-encoded content is the same as XML encoded content):
select 'AT&T' as input , (xpath('/z/text()', ('' || 'AT&T' || '')::xml))[1] as output