使用DOMDocument从HTML转换为文本是一种可行的解决方案。考虑HTML2Text,它需要PHP5:
http://www.howtocreate.co.uk/php/html2texthowto.html
http://www.howtocreate.co.uk/php/
http://www.howtocreate.co.uk/jslibs/termsOfUse.html
关于UTF-8,“howto”页面上的注释说明:
PHP自己对unicode的支持很差,而且它并不总能正确处理utf-8。虽然html2text脚本使用unicode-safe方法(不需要mbstring模块),但它无法始终处理PHP自己的编码处理。PHP并不真正理解像utf-8这样的unicode或编码,并使用系统的基本编码,它往往是ISO-8859系列之一。因此,在文本编辑器中看起来像utf-8或单字节的有效字符可能会被PHP误解为错误。所以,即使你认为你正在向html2text中提供一个有效的角色,你可能也不会。
作者提供了几种解决方法,并指出HTML2Text的第2版(使用DOMDocument)支持UTF-8。
请注意商业用途的限制。