我正在开发一个项目,需要将HTML电子邮件转换为纯文本。以下是HTML代码的简化版本:
<table>
<tr>
<td width="10%"></td>
<td width="60%"> test product </td>
<td width="20%">5</td>
<td width="10%"> £50.00 </td>
</tr>
<tr>
<td></td>
<td colspan="3" width="100%"> Project Name: Test Project </td>
</tr>
<tr>
<td width="10%"> </td>
<td colspan="2" width="80%"> Page 1 : 01 New York 1.jpg </td>
<td width="10%"> £0.00 </td>
</tr>
</table>
在文本文件中,期望的输出结果应该像这样(列要对齐):
test product 5 £50.00
Project Name: Test Project
Page 1 : 01 New York 1.jpg £0.00
我的想法是使用DOMDocument解析HTML内容。然后为表格设置一个默认宽度(例如:100个空格),然后将每列的宽度从百分比转换为空格数(基于标签的colspan和width属性)。接着将这些列宽度从每列数据的strlen中减去,以获得需要填充右侧空格以使所有字符串垂直对齐的空格数。
我已经尝试了这种方式,但还没有达到想要的效果,我只是想知道是否有更好的方法,请帮帮我。
另外,当涉及多字节语言(日语、韩语等)时,我认为我的方法行不通,因为它们的字符会比一个空格大,最终会变得混乱不堪。
请有人能帮帮我吗?