我有一个名为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..
型
但是,期望的结果是只截断<a>
标记内的文本,而保持链接文本“ClickToOpenFile”不变。
我尝试使用raw
和html_safe
,但不幸的是,它们没有提供所需的结果。
1条答案
按热度按时间xyhw6mcr1#
使用github.com/hgmnz/truncate_html gem:
字符串