暂时隐藏部分文字,用户点击某个元素后显示

时间:2015-06-10 11:59:59

标签: c# text htmlelements

我正在制作关于某些项目的详细信息页面。 此详细信息页面可以包含大块文本,客户只想显示前100个字母,然后在末尾添加“... more”。

当用户点击“... more”时,可以显示其余文本。

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

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

有没有人知道实现这个的(其他)方法或我可以使用的库?

1 个答案:

答案 0 :(得分:0)

能够提取"可读"将内容转换为纯文本格式所需的字符(去掉标记)。

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

希望内容不包含js / css!

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