But you can guess very reliably because HTML must have an HTML element
I forgot to mention that the html entered may be just a part of HTML, so assuming presence of "<html" tag will not work.
Comment on Re^2: Distinguish between HTML and Plain text
How can one possibly correctly identify them programatically?
PS - This is the reason Atom is better than RSS. RSS doesn't provide a mean of specifying the content type, so it can't distinguish between text and HTML content. Clients have to guess. You could take a peek at how RSS clients do it, but I suspect they might work with less ambiguous content than you.