如何突出显示包含 rails 中的 link 的文本?
How highlight a text contain a link in rails?
在Rails中,高亮文本中的一些关键字很容易,只需使用highlight()
视图助手即可,但是如果文本中包含一些link,那就有问题了,高亮后, link 解雇了,但其实我想保留它们。
示例:
pry(main)> text = "Whosebug is awesome"
=> "Whosebug is awesome"
pry(main)> helper.highlight(text, ['over', 'awe'])
=> "stack<mark>over</mark>flow is <mark>awe</mark>some"
这就是我想要的。
但是如果文本中包含一个link:
[20] pry(main)> text = "<p><a href=\"https://www.google.com\">google</a></p>"
=> "<p><a href=\"https://www.google.com\">google</a></p>"
[21] pry(main)> helper.highlight(text, 'goo')
=> "<p><mark>goo</mark>gle</p>"
那么<a>
标签就没有了。我想得到 "<p><a href="https://www.google.com"><mark>goo</mark>gle</a></p>"
如何在突出显示时保留 <a>
标签?
尝试使用helper.highlight(text, ['over', 'awe'], sanitize: false)
。
在Rails中,高亮文本中的一些关键字很容易,只需使用highlight()
视图助手即可,但是如果文本中包含一些link,那就有问题了,高亮后, link 解雇了,但其实我想保留它们。
示例:
pry(main)> text = "Whosebug is awesome"
=> "Whosebug is awesome"
pry(main)> helper.highlight(text, ['over', 'awe'])
=> "stack<mark>over</mark>flow is <mark>awe</mark>some"
这就是我想要的。
但是如果文本中包含一个link:
[20] pry(main)> text = "<p><a href=\"https://www.google.com\">google</a></p>"
=> "<p><a href=\"https://www.google.com\">google</a></p>"
[21] pry(main)> helper.highlight(text, 'goo')
=> "<p><mark>goo</mark>gle</p>"
那么<a>
标签就没有了。我想得到 "<p><a href="https://www.google.com"><mark>goo</mark>gle</a></p>"
如何在突出显示时保留 <a>
标签?
尝试使用helper.highlight(text, ['over', 'awe'], sanitize: false)
。