프로젝트에서 그런 요구에 직면했습니다. 큰 기사 텍스트의 HTML 코드가 휴대폰에 완전히 표시되지 않는 이유는 테이블 테이블에 있는 tr/td가 모두 스타일을 담고 있기 때문입니다. word.에서 붙여넣은 경우 이 큰 문자열에서 table, tr 및 td에 포함된 스타일을 지워야 하며 동시에 테이블 구조, 즉 tr의 rowspan과 td의 colspan을 삭제할 수 없습니다. 유지되어야 합니다.
코드의 html 부분은 다음과 같습니다.
<p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US"> <o:p>文字中华人民共和国文字中华人民共和国文字中华人民共和国</o:p> </span></p> <table> <tbody> <tr style="height:13.5pt"> <td width="117" style="width:88.0pt;border:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:13.5pt"><p class="MsoNormal" align="center" style="text-align:center"><span style="font-family:宋体;color:#1F497D">项目<span lang="EN-US"> <o:p></o:p> </span></span></p></td> <td width="137" style="width:103.0pt;border:solid windowtext 1.0pt;border-left:none;padding:0cm 5.4pt 0cm 5.4pt;height:13.5pt"><p class="MsoNormal" align="center" style="text-align:center"><span style="font-family:宋体;color:#1F497D">金额<span lang="EN-US"> <o:p></o:p> </span></span></p></td> <td width="153" style="width:115.0pt;border:solid windowtext 1.0pt;border-left:none;padding:0cm 5.4pt 0cm 5.4pt;height:13.5pt"><p class="MsoNormal" align="center" style="text-align:center"><span style="font-family:宋体;color:#1F497D">经办人<span lang="EN-US"> <o:p></o:p> </span></span></p></td> <td width="135" style="width:101.0pt;border:solid windowtext 1.0pt;border-left:none;padding:0cm 5.4pt 0cm 5.4pt;height:13.5pt"><p class="MsoNormal" align="center" style="text-align:center"><span style="font-family:宋体;color:#1F497D">是否有发票<span lang="EN-US"> <o:p></o:p> </span></span></p></td> </tr> <tr style="height:13.5pt"> <td width="117" style="width:88.0pt;border:solid windowtext 1.0pt;border-top:none;padding:0cm 5.4pt 0cm 5.4pt;height:13.5pt"><p class="MsoNormal" align="center" style="text-align:center"><span style="font-family:宋体;color:#1F497D">合计<span lang="EN-US"> <o:p></o:p> </span></span></p></td> <td colspan="3" valign="bottom" nowrap="" style="width:103.0pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:13.5pt"><p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US" style="font-size:11.0pt;font-family:宋体;color:black"> <o:p></o:p> </span></p></td> </tr> </tbody> </table> <p class="MsoNormal"><span style="font-family:宋体;color:#1F497D">文字中华人民共和国文字中华人民共和国文字中华人民共和国。</span><span lang="EN-US" style="color:#1F497D"> <o:p></o:p> </span></p>
JS 스크립트는 다음과 같습니다.
/* *格式化内容,str即是html格式的字符串 */ function formatContent(str){ str=str.replace(/<\/?(html|head|title|meta|body)\b[^>]*>/ig,""); str=str.replace(/<table[^>]*>/ig,"<table>"); return str; str=str.replace(/(<tr[^>]*>)/ig, function (a, b) { if(a.indexOf('rowspan')>-1){ a=a.replace(/([a-z]+)="([^"]+)?"/ig,function(c,d,e){ return d === 'rowspan' ? (d + '="' + e + '"') : ''; }) return a; }else{ return '<tr>'; } }); str=str.replace(/(<td[^>]*>)/ig, function (a, b) { if(a.indexOf('colspan')>-1){ a=a.replace(/([a-z]+)="([^"]+)?"/ig,function(c,d,e){ return d === 'colspan' ? (d + '="' + e + '"') : ''; }) return a; }else{ return '<td>'; } }); return str; }
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.