Is there a better way then using Lynx to convert HTML to Plaintext reliably in PHP
我想将具有基于表格布局的HTML文件转换为纯文本,以便通过PHP发送多部分电子邮件。
我已经尝试了一些在SO上找到的不同的预构建类/函数,但是似乎没有一个产生令人满意的结果,我认为这取决于基于表的布局。
我不想滚动自己的类来剥离HTML和格式化结果,因为我确信在我在生产中遇到这些问题之前,我不会考虑或无法测试这些问题。
到目前为止,我想出的最好的解决方案是:
这可以正常工作,但是我有点担心它不是获得像样的多部分电子邮件的最佳方式。有人知道更好的方法吗?
为了澄清,我已经尝试了以下方法,但没有成功:
- html2text类-http://www.chuggnutt.com/html2text.php
- Markdownify-http://milianw.de/projects/markdownify/
- html2text版本2-http://www.howtocreate.co.uk/php/html2texthowto.html
- http://journals.jevon.org/users/jevon-phd/entry/19818
PHP DomDocument应该可以帮助您。
您可以遍历DOM树并根据需要剥离相关内容。
http://php.net/manual/zh/class.domdocument.php
有关SO的相关问题:
用PHPs HTML DOMDocument解析HTML
Lynx并不是我真正相信的最佳解决方案:)此外,我本人也使用过html2text,它可以正常工作,并且比lynx更好。.无论如何,如果您更喜欢将其进行正则表达式,则比使用系统外壳要重得多( shell_exec,system,exec,popen),因为您需要preg_replace所有不必要的标签,而在php中,regex的速度非常慢。 因此,我想如果它在linux机器上,最好传递给html2text。