我有一个页面,其中使用docx_reader提供了word(docx)文档的预览。我正在使用一些关键字来确定从何处停止预览,即要显示多少完整的docx。然后,我在“ div”元素中显示该预览。但是,由于docx本质上也是标记,因此有时我会停止预览(停止从docx文件读取),以使它留下一个或多个不匹配的open div元素,我当然不会在主要的html代码中关闭它。
现在的问题是:有没有办法关闭特定的div元素?
例如:
<div id="embedding_div">
{$docx_preview}
</div id="embedding_div">
或者,如果这不可能,那么我还能如何呈现预览,以免与周围的代码混淆?像iframe一样?或者有办法在关闭embedding_div之前关闭$ docx_preview中所有不匹配的打开div(例如,使用substr_count查找$ docx_preview中打开和关闭div的数量,然后添加缺少的关闭div数量)。
例如:
$nopen_divs=substr_count ($docx_preview, '<div>');
$nclose_divs=substr_count ($docx_preview, '</div>');
$nmissing_closedivs = $nopen_divs - $nclose_divs;
echo '<div id="embedding_div">';
echo $docx_preview;
for ($i=0;$i<$nmissing_closedivs;$i++){
echo '</div>';
}
echo '</div>'; // this closes the embedding_div
谢谢。
顺便说一句,有时它还会切入诸如“ span”之类的元素的中间。我该如何预防?因此$ docx_preview的结尾会像这样:
<span style="color: red
不带引号或“>”