c# – 获取HTML内容的前100个字符而不剥离标签

前端之家收集整理的这篇文章主要介绍了c# – 获取HTML内容的前100个字符而不剥离标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

关于如何去除html标签有很多问题,但关于它们的函数/方法并不多.

这是情况.我有一个500字符的消息摘要(包括html标签),但我只想要前100个字符.问题是,如果我截断消息,它可能在html标签的中间…这会弄乱一些东西.

假设html是这样的:

我怎么能拿到前100个字左右? (虽然理想情况下,这将是“内容”的第一个大约100个字符(在html标签之间)

我假设最好的方法是做一个递归算法,跟踪html标签并追加任何会被截断的标签,但这可能不是最好的方法.

我的第一个想法是使用递归来计算嵌套标签,当我们达到100个字符时,寻找下一个“<”然后使用递归来编写那里所需的结束html标记. 这样做的原因是对现有文章做一个简短的总结,而不要求用户返回并提供所有文章摘要.如果可能的话,我想保留html格式. 注意:请忽略html不是完全语义的.这是我必须从我的WYSIWYG处理的. 编辑: 我添加了一个潜在的解决方案(这似乎有效)我认为其他人也会遇到这个问题.我不确定它是最好的…而且它可能不完全健壮(事实上,我知道它不是),但我很感激任何反馈

最佳答案
我的建议是找到一个HTML友好的遍历器(允许你像XML一样遍历HTML),然后从头开始标签忽略标签本身,只计算标签中的数据.计算到你的极限,然后一旦达到关闭每个标签(我不能想到任何标签不仅仅是/标签的任何标签).

这应该可以很好地工作,并且与您正在寻找的相当接近.

它完全脱离了ol’noggin的顶部所以我假设会有一些棘手的部分,比如显示属性值(例如链接标记值).

原文链接:https://www.f2er.com/html/426316.html

猜你在找的HTML相关文章