Laravel-DOMDocument::loadXML():开始和结束标记不匹配-PhpWord错误

Laravel-DOMDocument::loadXML():开始和结束标记不匹配-PhpWord错误,php,xml,laravel,laravel-5,phpword,Php,Xml,Laravel,Laravel 5,Phpword,我有3个以HTML编写的刀片文件,我目前正在使用WKHTMLTOPDF将它们导出为PDF格式,现在我想将相同的HTML文件导出到Word文档 到目前为止,我能找到的最适合拉威尔的套餐是 代码片段: <div class="page-break"></div> <h3>Introduction</h3> <p></p> <p></p> 它当前正在返回此错误: DOMDocument::loadX

我有3个以HTML编写的刀片文件,我目前正在使用WKHTMLTOPDF将它们导出为PDF格式,现在我想将相同的HTML文件导出到Word文档

到目前为止,我能找到的最适合拉威尔的套餐是

代码片段:

<div class="page-break"></div>

<h3>Introduction</h3>

<p></p>

<p></p>
它当前正在返回此错误:

DOMDocument::loadXML():开始和结束标记不匹配:链接行1 和实体中的div,行:1

令人恼火的是,无论我删除哪一行,错误总是持续存在,直到我删除了HTML的每一行

我可以使用以下代码防止发生此错误:

libxml_use_internal_errors(true);
然而,它返回:

Html.php第136行中的ErrorException:尝试获取非对象的属性

以前有人成功地解决过这些错误吗?如果你需要更多的代码,请告诉我。非常感谢。

方法
addHtml()
将提供的字符串作为XML加载。这意味着它也需要是有效的XML。换句话说,您必须使用XHTML

错误消息表示第1行中有一个
链接
标记<代码>链接是(X)HTML中的空元素。另存为HTML,如下所示:

<link rel="stylesheet" type="text/css" href="style.css">
<div>Some Content</div>
<link rel="stylesheet" type="text/css" href="style.css"></link>
<div>Some Content</div>
或者这个:

<link rel="stylesheet" type="text/css" href="style.css"/>
<div>Some Content</div>

一些内容
在XML中,空标记可以写成
前面的
直接关闭了开始标签。只有开始标记在XML/XHTML中无效,但在HTML中有效


因此,您需要确保刀片文件是有效的XHTML片段。

我也面临同样的问题。我已经按照下面的代码修复了它

$doc = new DOMDocument();
$doc->loadHTML($str);
$doc->saveHTML();
\PhpOffice\PhpWord\Shared\Html::addHtml($section, $doc->saveHtml(),true);

只是出于好奇,问题可能是没有集装箱标签吗?i、 e.我的HTML文件没有标记,但是,我刚刚添加了它们,返回了相同的错误。我在实体中得到一个erro属性构造错误,第1行:Can any help我已将
$doc->saveHtml()
替换为
$doc->saveXml()
$doc = new DOMDocument();
$doc->loadHTML($str);
$doc->saveHTML();
\PhpOffice\PhpWord\Shared\Html::addHtml($section, $doc->saveHtml(),true);