Rails:截斷 HTML 標記文本,同時在資料庫列截斷期間保留連結文本
P粉896751037
P粉896751037 2023-09-12 19:18:11
0
1
528

我有一個名為 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>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板