Я работаю над проектом, который требует преобразования электронной почты в формате 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
Моя идея заключается в анализе содержимого HTML с помощью DOMDocument. Затем я установлю ширину по умолчанию для таблицы (т.е. 100 пробелов), а затем преобразую ширину каждого столбца из % в количество пробелов (на основе атрибута Я работал таким образом, не было заархивировано то, что я хочу, но просто интересно, глупо ли это или кто-нибудь знает лучший способ, пожалуйста, помогите мне. Также, когда дело доходит до многобайтовых языков (японский, корейский и т. д.), я не думаю, что мой подход сработает, потому что их символы будут больше одного пробела, и в итоге получится беспорядок. Кто-нибудь может мне помочь? colspan
и width
тег). Затем я вычту эту ширину столбца из strlen
данных в каждом столбце, чтобы заархивировать количество пробелов, которое мне нужно для pad_right в строке, чтобы все выровнялось по вертикали.
0 ответов
Похожие вопросы: