【发布时间】:2012-01-19 23:39:57
【问题描述】:
我正在处理一些博客布局,我需要为每篇文章(比如最近的 15 篇)创建一个摘要以显示在主页上。现在我使用的内容已经被 Textile 库格式化为 html 标签。现在,如果我使用 substr 获取帖子的第 500 个字符,我面临的主要问题是如何关闭未关闭的标签。
例如
<div>.......................</div>
<div>...........
<p>............</p>
<p>...........| 500 chars
</p>
<div>
我得到的是两个未闭合的标签
和
, p 不会造成太大的麻烦,但 div 只是弄乱了整个页面布局。那么有什么建议如何跟踪开始标签并手动关闭它们吗?
【问题讨论】:
-
将开始标签推入堆栈,并弹出关闭的标签。考虑自闭合标签。当您消耗了足够多的文本字符后,将剩余的标签序列化为结束标签,后进先出。
-
有类似的讨论与使用 PHP here 进行 DOM 操作有关。
-
是的@alex 我想到了,尝试实现它有什么我可以效仿的例子吗?
-
<p>标签不需要关闭,除非在 XHTML 中。我们假设您使用的是 XHTML 吗? -
不,我正在使用 html。正如我所说
<p>很好.. 它们是自动关闭的,但它的 div 标签导致主要布局问题