Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
825 views
in Technique[技术] by (71.8m points)

如何对 HTML 进行长文本截取操作?

是这样的,数据库中存储了 Markdown 格式的内容,然后返回到前端时自动调用 Markdown 解析,这样前端就能直接获取到 HTML。因为是用的 Vue,所以直接用 v-html 把 HTML 贴上去就完事了。

但是现在就想要做一个截取的功能,也就是平常的那种首页预览一部分,然后再点击全文查看。

但是因为返回的数据是 HTML 就不知道该如何做起。传统的字符串截取 + "..." 拼接已经没有用了,这样可能会导致 HTML 结构错乱。

而且还需要考虑 <table><ul> 等非文本元素,如何在截取中处理它们。

所以想知道到底怎样才能正确地在这种情况下截取内容。或者,是否是这整个模式不好,而且有更好的前后端模式来解决这个问题?

ps: 首选用 JS,CSS 在这方面的支持简单看了一下感觉很惨淡,直接用 Webkit 实现兼容性不好,用伪元素来处理又会出问题。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

我之前去过几个网站看文章,发现有的需要关注公众号才能查看全文。之前有关注过一次,有一次嫌麻烦,就看一下前端有没有数据。然后发现这个东西不是服务器控制的,它只是设置了个最大高度,然后在末尾加上【点击展示更多】,其实完整的内容只是被overflow:hidden了。这个场景跟你的需求有点像啊


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...