我希望文本中的链接自动变为<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
代替?
答案 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>."