gpt4 book ai didi

java - 如何用 Java 缩写 HTML?

转载 作者:IT老高 更新时间:2023-10-28 20:54:32 25 4
gpt4 key购买 nike

用户在表单中输入 HTML 格式的文本,例如:

<p>this is my <strong>blog</strong> post, 
very <i>long</i> and written in <b>HTML</b></p>

我希望能够只输出字符串的一部分(例如前 20 个字符),而不会破坏用户输入的 HTML 结构。在这种情况下:

<p>this is my <strong>blog</strong> post, very <i>l</i>...</p>

呈现为

this is my <strong>blog</strong> post, very <i>lo</i>...

是否有 Java 库可以做到这一点,或者有一个简单的方法可以使用?

MyLibrary.abbreviateHTML(string,20) ?

最佳答案

由于正确地做到这一点并不容易,我通常会去除所有标签并截断。这可以很好地控制通常需要放置在您确实需要控制的位置的文本大小和外观。

请注意,您可能会发现我的建议非常保守,实际上它不是您问题的正确答案。但大多数情况下,替代方案是:

  • 剥离所有标签并截断
  • 提供可作为截断文本的替代内容可管理富文本。这当然只适用于 CMS 等

截断 HTML 很难的原因是你不知道截断会如何影响 HTML 的结构。您将如何在 <ul> 中间截断或者,更糟糕的是,在一个复杂的 <table> 中间?

所以这里的问题是 HTML 不仅可以包含内容和样式(粗体、斜体),还可以包含结构(列表、表格、div 等)。因此,一个良好且安全的实现方式是将内联“样式”标签(粗体、斜体等)剥离并截断所有内容,同时跟踪未闭合的标签。

关于java - 如何用 Java 缩写 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7697118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com