0

我正在制作有关某些项目的详细信息页面。此详细信息页面可能包含大块文本,并且客户希望仅显示前 100 个字母,然后在末尾添加“...更多”。

当用户单击此“...更多”时,可以显示其余文本。

最大的问题:文本目前是一个CMS,种类繁多。有些是纯文本,有些是 html 元素...

我试图切断文本并将它们放在跨度中。然后我可以随意显示/隐藏这些跨度。这里的问题是第一个跨度中可能有某个标签的起始元素,而结束元素可以在第二个跨度中。这会导致 DOM 层次结构出错,结果永远不会很漂亮。

有谁知道实现此目的的(其他)方法或我可以使用的库?

4

1 回答 1

0

为了能够提取“可读”字符,您需要将内容转换为纯文本格式(摆脱标记)。

由于内容存储在 cms 中,因此内容的结构很可能格式良好 - 因此是 xhtml。如果是这种情况,您可以将内容视为 XML。获取根节点并获取其中的内部文本属性。然后你将有纯文本 - 没有标签 - 并且可以在前 100 个字符或任何要求之后轻松剪切它。

希望内容不包含 js/css!

编辑: 似乎必须保留标记。尝试以下 xsl 来转换和截断内容: https ://gist.github.com/allen/65817

于 2015-06-10T12:22:31.747 回答