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

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

概述关于如何去除html标签有很多问题,但关于它们的函数/方法并不多.这是情况.我有一个500字符的消息摘要(包括html标签),但我只想要前100个字符.问题是,如果我截断消息,它可能在html标签的中间...这会弄乱一些东西.假设html是这样的:<div class='bd'>'Lorem ipsum dolor sit amet, conse

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

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

假设HTML是这样的:

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

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

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

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

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

总结

以上是内存溢出为你收集整理的c# – 获取HTML内容的前100个字符而不剥离标签全部内容,希望文章能够帮你解决c# – 获取HTML内容的前100个字符而不剥离标签所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1123300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)