Rel: Potong teks teg HTML sambil mengekalkan teks pautan semasa pemangkasan lajur pangkalan data
P粉896751037
P粉896751037 2023-09-12 19:18:11
0
1
551

Saya mempunyai lajur pangkalan data yang dipanggil comment yang menyimpan ulasan yang mengandungi teg HTML.

Untuk memendekkan teks besar dan memaparkannya sepenuhnya dalam tetingkap timbul, saya menggunakan fungsi truncate(comment, length: 50, escape: false).

Mari kita pertimbangkan dua contoh:

Contoh 1: comment 列包含以下带有 HTML 标记的纯文本。通过使用 escape: false Lajur mengandungi teks biasa berikut dengan tag HTML. Dengan menggunakan escape: false, teg HTML tidak dipotong dan teks dipaparkan dengan betul, termasuk sebarang pemformatan seperti tebal:

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

Contoh 2: Dalam kes ini saya menggunakan href 标记创建链接,但 escape dan tingkah laku tidak berfungsi seperti yang diharapkan. Ia tidak mengiktirafnya sebagai penanda HTML, tetapi menganggapnya sebagai teks biasa:

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

Selepas dipotong, paparan adalah seperti berikut:

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

Walau bagaimanapun, hasil yang diingini ialah memotong hanya teks di dalam teg , meninggalkan teks pautan "ClickToOpenFile" utuh.

Saya cuba menggunakan rawhtml_safe tetapi malangnya mereka tidak memberikan hasil yang diinginkan.

P粉896751037
P粉896751037

membalas semua(1)
P粉665427988

Gunakan github.com/hgmnz/truncate_html permata:

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>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan