私は、HTMLの電子メールをテキストに変換する必要があるプロジェクトに取り組んでいます。下記の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>
期待される結果が(うまく整列列を持つ)テキストファイルに次のようになります。私の考えはでHTMLコンテンツを解析している
test product 5 £50.00
Project Name: Test Project
Page 1 : 01 New York 1.jpg £0.00
DOMDocument。その後、私は、スペースの数%まで、各列の幅を変換テーブル(すなわち.: 100個のスペース)のデフォルトの幅を設定します(<td>
タグのcolspan
& width
属性に基づいて)。次に、これらの列の幅を各列のデータのstrlen
に引き下げて、すべてを垂直に整列させるためにpad_rightに必要なスペースの数をアーカイブします。私はそのように取り組んできました
、それは愚かであるか、誰も私を助けてくださいより良い方法を知っていれば私は疑問に思ったが何をしたいアーカイブされていません。それはマルチバイト言語(日本語、韓国語など)になると自分のキャラクターが1つのスペースよりも大きくなり、それが混乱してしまうので、
また、私は私のアプローチがうまくいくとは思いません。
誰かが私を助けてくれますか?
これは、テキストがモノスペースフォントで表示されている場合にのみ機能します。 – Roman
?マルチバイトは、あなたのtxtファイルにもっと多くのスペースを取らない(/すべきではありません)。 – PeeHaa
予想より広い列がある場合はどうしますか? –