如何使用PHPWord将HTML标签字符串转换为Word文档?

15

我有一个HTML字符串,想以与HTML中相同的格式和样式在word文档中打印。我正在使用PHPWord

当我提供我的HTML字符串时,例如:

$htmlval ="<h6><div style="text-align: center;"><b style=\\"font-size: x-large;\\">OFFER LETTER</b></div><font size=\\"3\\"><div style="text-align: center;"><span style=\\"font-size: medium;\\">(This goes as an email copy)</span></div>";

这是具有断行和div标签的HTML标记。

转换为:

$section->addText($htmlval);
它打印出所有的HTML标记,但我希望获得按照HTML指定格式的内容。
2个回答

21

在有限的情况下,这是可能的,但仅限于基本的HTML标记。

<p>,<h1>,<h2>,<h3>,<h4>,<h5>,<h6>,<strong>,
<em>,<sup>,<sub>,<table>,<tr>,<td>,<ul>,<ol>,<li>

在更加复杂的情况下,它也无法很好地工作(例如表格中的 rowspan/colspan)

$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
\PhpOffice\PhpWord\Shared\Html::addHtml($section, $html);

请查看示例:PHPWord github


1
在表格单元格中:$cell = $table->addCell(6000); \PhpOffice\PhpWord\Shared\Html::addHtml($cell, $html); - Richard
这个支持样式吗?! - famas23

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接