在 PHP 中将 HTML 转换为纯文本以用于电子邮件

2022-08-30 08:01:10

我使用TinyMCE来允许在我的网站中对文本进行最小格式设置。从生成的 HTML 中,我想将其转换为纯文本以用于电子邮件。我一直在使用一个名为html2text的类,但它确实缺乏对UTF-8的支持。但是,我确实喜欢它将某些HTML标签映射到纯文本格式 - 例如将下划线放在以前在HTML中具有<i>标签的文本周围。

有没有人使用类似的方法在PHP中将HTML转换为纯文本?如果是这样:您是否推荐我可以使用的任何第三方课程?或者您如何最好地解决这个问题?


答案 1

使用 html2text(示例 HTML文本),在 Eclipse 公共许可证下授权。它使用PHP的DOM方法从HTML加载,然后迭代生成的DOM以提取纯文本。用法:

// when installed using the Composer package
$text = Html2Text\Html2Text::convert($html);

// usage when installed using html2text.php
require('html2text.php');
$text = convert_html_to_text($html);

虽然不完整,但它是开源的,欢迎贡献。

其他转换脚本存在的问题:


答案 2

这是另一种解决方案:

$cleaner_input = strip_tags($text);

有关消毒功能的其他变体,请参阅:

https://github.com/ttodua/useful-php-scripts/blob/master/filter-php-variable-sanitize.php


推荐