저는 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 콘텐츠를 구문 분석 아래는 HTML 코드의 단순화 된 버전입니다 DOMDocument. 그런 다음 표의 기본 너비 (예 : 100 공백)를 설정 한 다음 각 열의 너비를 %에서 공백 수로 변환합니다 (colspan
& 속성이 <td>
태그 기준). 그런 다음이 열의 너비를 각 열의 데이터 중 strlen
으로 뺍니다. 모든 열을 수직으로 정렬하도록 pad_right에 필요한 공간 수를 저장합니다.
나는 그런 식으로 일해 왔고, 내가 원하는 것을 보관하지는 않았지만, 그것이 어리석은 사람인지, 아니면 누가 더 나은 방법으로 나를 도와 주는지 궁금해하고있다.
멀티 바이트 언어 (일본어, 한국어 등 ...)의 경우에도 문자가 한 공간보다 커지고 엉망이되기 때문에 접근 방식이 작동하지 않을 것이라고 생각합니다.
누군가 나를 도와 줄 수 있습니까?
텍스트가 모노 스페이스 글꼴로 표시되는 경우에만 작동합니다. – Roman
어? 멀티 바이트는 txt 파일에서 더 많은 공백을 차지하지 않습니다. – PeeHaa
기대하는 것보다 넓은 컬럼이 있다면 어떻게 할 것입니까? –