Ich habe eine Datenbankspalte namens comment
, in der Kommentare gespeichert werden, die HTML-Tags enthalten.
Um große Texte zu kürzen und vollständig in einem Popup-Fenster anzuzeigen, habe ich die truncate(comment, length: 50, escape: false)
-Funktion verwendet.
Betrachten wir zwei Beispiele:
Beispiel 1:
comment
列包含以下带有 HTML 标记的纯文本。通过使用 escape: false
Die Spalte enthält den folgenden Klartext mit HTML-Tags. Durch die Verwendung von escape: false
werden HTML-Tags nicht abgeschnitten und der Text wird korrekt angezeigt, einschließlich aller Formatierungen wie Fett:
<strong>123</strong><br> \\<br> <strong>test</strong>
Beispiel 2:
In diesem Fall verwende ich href
标记创建链接,但 escape
und das Verhalten funktioniert nicht wie erwartet. Es erkennt es nicht als HTML-Markup, sondern behandelt es als einfachen Text:
<a href="/uploads/attachments/2211/test.pdf" target="_blank">ClickToOpenFile</a>
Nach der Kürzung sieht die Anzeige wie folgt aus:
<a href="/uploads/attachments/2..
Das gewünschte Ergebnis besteht jedoch darin, nur den Text innerhalb des -Tags abzuschneiden und den Linktext „ClickToOpenFile“ intakt zu lassen.
Ich habe es mit raw
和 html_safe
versucht, aber leider lieferten sie nicht die gewünschten Ergebnisse.
使用 github.com/hgmnz/truncate_html gem: