【发布时间】:2012-10-25 08:45:03
【问题描述】:
我有一组单词需要用链接替换。当我的锚链接中包含一个单词时,我遇到了错误。我正在使用循环遍历所有单词,因此如果第一个链接包含要替换的当前单词,它将在现有锚标记内再次被新链接替换。
例子:
我有一句话:敏捷的棕狐跳过懒惰的狗。
我想将“Fox”替换为 <a href="#" data-content="A fox is not a dog">fox< /a>,将“Dog”替换为:<a href="#" data-content="A dog is a man's best friend">dog</a>
我的代码:
<% text = "The quick brown fox jumps over the lazy dog." %>
<% @definition.each do |d| % ><br/>
<% text = text.gsub(d.word, link_to(d.word, '# ', :class => "popover-definition", :rel => "popover", :title => "<strong>#{d.word}</strong>", :"data-content" => d.meaning)).html_safe %><br/>
<% end %>
** @definition 包含单词和替换它的链接。
当循环第二次运行时,来自 'fox' 的 <a> 标记中的 'dog' 被替换为新链接。当单词包含在锚点中时,如何避免字符串替换?
谢谢!
【问题讨论】:
标签: ruby ruby-on-rails-3.1 twitter-bootstrap