私は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
。次に、各列のデータのこれらの列幅を減算して、すべてを垂直に揃えるために文字列にpad_rightする必要があるスペースの数をアーカイブします。width
<td>
strlen
私はそのように取り組んできましたが、私が望むものはアーカイブされていませんが、それが愚かであるか、誰かがより良い方法を知っているかどうか疑問に思っています。私を助けてください。
また、マルチバイト言語(日本語、韓国語など)に関しては、文字が1スペースより大きくなり、混乱してしまうため、私のアプローチはうまくいかないと思います。
誰かが私を助けてくれますか?