【问题标题】:Split html document while maintaining inner tags在维护内部标签的同时拆分 html 文档
【发布时间】:2015-03-02 19:34:55
【问题描述】:

我正在开发一家电子商店。在我的代码中的某个时刻,我必须在单个页面中显示许多产品的属性和描述。属性是一个表格,描述可以包含简单的文本和表格、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 中的分页符?嗯?
  • 打印分页符。不适合在屏幕上观看
  • 啊,这就解释了。
  • 重点是改善文档在打印时的外观
  • 我明白,很遗憾您对此没有任何控制权(但请参阅下面的回答)。您应该考虑使用 PDF 文档之类的东西。

标签: php html split html-encode


【解决方案1】:

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

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

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

【讨论】:

  • 我知道这一点。问题是我无法控制这些字符串。它们已经被其他人存储在数据库中,用于 1500 种产品,而无需考虑打印。所以在代码中操作它们似乎是唯一的方法。
  • 那么,您唯一能做的就是搜索放置这些分页符的可能位置。例如在
    中。


    。但是要让它一直正常工作是很困难的。你是唯一能发现的人。
猜你喜欢
  • 1970-01-01
  • 2020-10-18
  • 2021-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多