我正在制作关于某些项目的详细信息页面。 此详细信息页面可以包含大块文本,客户只想显示前100个字母,然后在末尾添加“... more”。
当用户点击“... more”时,可以显示其余文本。
最大问题:该文本目前是一个CMS,并且有很多种类。有些是纯文本,有些是html元素......
我试图切断文本并将它们放在跨度中。然后我可以随心所欲地展示/隐藏这些跨度。这里的问题是在第一个跨度中可以有某个标记的起始元素,而结束元素可以在第二个跨度中。这会导致DOM层次结构出错,结果永远不会很好。
有没有人知道实现这个的(其他)方法或我可以使用的库?
答案 0 :(得分:0)
能够提取"可读"将内容转换为纯文本格式所需的字符(去掉标记)。
由于内容存储在cms中,因此内容可能构造得很好 - 因此xhtml。 如果是这种情况,您可以将内容视为XML。获取根节点并获取其中的innertext属性。然后你将有纯文本 - 没有标签 - 并且可以在前100个字符或任何要求之后轻松剪切它。
希望内容不包含js / css!
修改强> 似乎必须保留标记。 尝试使用以下xsl来转换和截断内容: https://gist.github.com/allen/65817