1

我寫了回調過濾器,可以切斷長鏈接。但它並不能代替長鏈。如何取代長鏈接的短?

問題。如何取代長鏈接的短?

我的代碼:

def short_part_of_link 
    links = URI.extract(body) 
    link = links.collect { |link| truncate(link, length: 30) } 
    self.body << link.map(&:inspect).join(', ') 
end 

測試:

dsfs df http://stackoverflow.com/questions/1416544/regex-find-all-links-in-a-tweet fsdfds fds fds f http://stackoverflow.com/questions/1416544/regex-find-all-links-in-a-tweet  "http://stackoverflow.com/qu...", "http://stackoverflow.com/qu..." 

回答

1

一個簡短的解決方案是:

def short_part_of_link 
    body.gsub! %r{http://\S+}, {|link| truncate(link, length: 30)} 
end 

這將替換是以「http的所有字更新正文: //「截斷版本。

+0

謝謝,它幫助了我。 – vadus1