开发者

filtering links in rails

开发者 https://www.devze.com 2023-01-20 02:00 出处:网络
Is there a way to filter out links posted in a comment or in a form. The datatype of the column where the field is stored might be text or varchar. I essentially want to strip off any kind o开发者_Sta

Is there a way to filter out links posted in a comment or in a form. The datatype of the column where the field is stored might be text or varchar. I essentially want to strip off any kind o开发者_StackOverflow社区f url embedded witin the content.


You could try strip_links. From the Rails docs:

strip_links('<a href="http://www.rubyonrails.org">Ruby on Rails</a>')
# => Ruby on Rails

strip_links('Please e-mail me at <a href="mailto:me@email.com">me@email.com</a>.')
# => Please e-mail me at me@email.com.

strip_links('Blog: <a href="http://www.myblog.com/" class="nav" target=\"_blank\">Visit</a>.')
# => Blog: Visit

There's also a strip_tags which removes any HTML tags from a string.

These functions won't be available in your model, however; only in your views. As far as I know, there's no built-in methods to accomplish this from the model. If you need to do it in the view, you could try extending the model with the relevant ActiveView class(es). Otherwise, it should be fairly easy to construct a regular expression to strip the links.


Aside form the already mentioned strip_links and strip_tags, there's a number of useful text helpers in ActionView.

0

精彩评论

暂无评论...
验证码 换一张
取 消