Rails:带省略号的自动链接?

时间:2014-10-03 15:21:22

标签: ruby-on-rails

我希望文本中的链接自动变为<a>,所以我转向autolink gem。 但是,我不仅希望它变成HTML <a>,还会缩短显示的href。

例如

Text: 
Go to http://stackoverflow.com/questions/8699459/get-title-content-via-link-in-rails

Returned result
Go to <a href=\"http://stackoverflow.com/questions/8699459/get-title-content-via-link-in-rails">stackoverflow.com/questions/8699....</a>

http被删除,length中文字的<a>被严格限制。

我该怎么做?我想也许我必须重新发明轮子,比如: 首先找到链接,然后剥离http并给它一个最大长度。然后生成<a>以替换文本中的原始文本类型链接。

或者我可以放弃剥离http://,而是使用CSS text-overflow代替?

1 个答案:

答案 0 :(得分:1)

如果你使用rails_autolink gem,你可以将一个块传递给auto_link,这样你就可以截断链接的文本:

post_body = "Welcome to my new blog at http://www.myblog.com/."

auto_link(post_body, :html => { :target => '_blank' }) do |text|
  truncate(text, :length => 15)
end

# => "Welcome to my new blog at <a href=\"http://www.myblog.com/\" target=\"_blank\">http://www.m...</a>."