我有一個名為 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」完整。
我嘗試過使用 raw
和 html_safe
,但不幸的是,它們沒有提供所需的結果。
P粉6654279882023-09-13 16:54:17
使用 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>