-1

我知道这应该很容易,但我只是不知道如何修改现有的 auto_html 过滤器来获得我需要的输出。我发现这个 为 auto_html 创建过滤器, 但我需要修改现有的过滤器。

例如,我在数据库中有一个这种格式的 youtube 链接列表(http://youtu.be/UfQC1h-EANI)并在我的视图中打印出来:

%li
  = link_to link.title, link.url, :class => "youtube title_link"

单击链接时,我需要将http://youtu.be/UfQC1h-EANI转换为http://www.youtube.com/embed/UfQC1h-EANI?rel=0

我已经设法使用 auto_html 进行转换,但是,它附带了所有附加的 html。我在想如果我可以修改过滤器,我可以调整它只给我没有所有 html 的 url。我一辈子都想不出如何修改 auto_html 的 youtube 过滤器。这甚至是最好的方法吗?

非常感谢任何帮助!

4

1 回答 1

0

只需使用正则表达式即可

link_to link.title, "http://youtube.com/embed/#{link.url.to_s.match(/\/\/youtu.be\/(\S+)$/)[1]}/?rel=0", :class => "youtube title_link"

如果你onclick只想要它,你可以用 JavaScript 来做。

于 2012-11-15T18:50:04.340 回答