Как преобразовать строку тега html в текстовый документ, используя PHPWord?

У меня есть строка HTML, и я хочу напечатать документ Word в том же формате и стиле, что и в HTML. Я использую 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>";

это HTML-теги с break и div.

чтобы:

$section->addText($htmlval);

он печатает все теги HTML, но я хочу содержимое в формате, указанном в HTML.

2 ответа

Ограниченным образом это возможно, но только для основных тегов 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

Я согласен с ответом @Tomek, но у вас есть больше HTML-тегов.

Полный список здесь:
https://github.com/PHPOffice/PHPWord/blob/4a530d1d97b064b87d9e2a1cc64cab996246569c/src/PhpWord/Shared/Html.php

Не пытайтесь делать сложные мысли со столом или стилем. Это просто не сработало.

Другие вопросы по тегам