Rails:截断 HTML 标记文本,同时在数据库列截断期间保留链接文本
P粉896751037
P粉896751037 2023-09-12 19:18:11
0
1
460

我有一个名为 comment 的数据库列,用于存储包含 HTML 标记的评论。

为了缩短大文本并在弹出窗口中完整显示它们,我使用了 truncate(comment, length: 50, escape: false) 函数。

让我们考虑两个例子:

示例 1: comment 列包含以下带有 HTML 标记的纯文本。通过使用 escape: false,HTML 标记不会被截断,并且文本会正确显示,包括任何格式,例如粗体:

<strong>123</strong><br>
\\<br>
<strong>test</strong>

示例 2: 在本例中,我使用 href 标记创建链接,但 escape 行为未按预期运行。它不会将其识别为 HTML 标记,而是将其视为纯文本:

<a href="/uploads/attachments/2211/test.pdf" target="_blank">ClickToOpenFile</a>

截断后,显示如下:

<a href="/uploads/attachments/2..

但是,期望的结果是仅截断 标记内的文本,保持链接文本“ClickToOpenFile”完整。

我尝试过使用 rawhtml_safe,但不幸的是,它们没有提供所需的结果。

P粉896751037
P粉896751037

全部回复(1)
P粉665427988

使用 github.com/hgmnz/truncate_html gem:

some_html = '<ul><li><a href="http://whatever">This is a link</a></li></ul>'
truncate_html(some_html, length: 15, omission: '...(continued)')
  => <ul><li><a href="http://whatever">This...(continued)</a></li></ul>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!