2014-04-11 4 views
8

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

это HTML-теги с разрывом и дел.

к:

$section->addText($htmlval); 

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

ответ

14

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

+0

В ячейке таблицы: '$ cell = $ table-> addCell (6000); \ PhpOffice \ PhpWord \ Shared \ Html :: addHtml ($ cell, $ html); ' – Richard