cari

Rumah  >  Soal Jawab  >  teks badan

Rel: Potong teks teg HTML sambil mengekalkan teks pautan semasa pemangkasan lajur pangkalan data

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粉896751037P粉896751037439 hari yang lalu531

membalas semua(1)saya akan balas

  • P粉665427988

    P粉6654279882023-09-13 16:54:17

    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>

    balas
    0
  • Batalbalas