在维护内部标记的同时拆分html文档


Split html document while maintaining inner tags

我正在电子商店工作。在代码的某个时刻,我必须在一个页面中显示许多产品的属性和描述。属性是一个表,描述可以包含简单的文本和表、li、br标记等。这些标记以html编码字符串的形式存储在数据库中。因此,在我的php文件中,我从数据库加载它们,并像这样对它们进行解码。

$description=html_entity_decode($description_from_db, ENT_QUOTES, 'UTF-8');
$attributes=html_entity_decode($attributes_from_db, ENT_QUOTES, 'UTF-8');

稍后我只做echo $description;,它们会正确显示。所有这些都必须是可打印的,挑战来了。

当属性表和描述足够长时,超过了可打印的页面高度,它们会被切成两半,看起来非常难看。我想做的是分割$description和$attributes字符串,并在必要的地方用分页符将它们回声。问题是,必须对这些字符串中的标记执行此操作。例如,我不能打断tr标记中间的字符串。

有没有一种方法可以打破这些字符串,保持它们所包含的html元素完好无损?我认为这一定是可能的,因为html编辑器在标记未关闭时会显示警告。

您可以在HTML代码中放置分页符,然后HTML将选择在哪里进行分页符:

https://css-tricks.com/almanac/properties/p/page-break

http://davidwalsh.name/css-page-breaks