Как преобразовать строку тега 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
Не пытайтесь делать сложные мысли со столом или стилем. Это просто не сработало.