如果对象存在数据库类型文本中,则我想遍历的对象中有一个字符串以查找特定字符(#)。所以我一个接一个地去检查它是否存在。但是当我这样做时,它会在字符之间显示额外的空白。相同的设置在php中工作正常。该行位于erb文件中。它显示在div中。如果我只是做
<%= feed.text %>
它显示正常,但是我不能检查它是否包含#。
预期输出:嘿
我得到的是:嗨
我该如何解决?
这是我的代码:
<div class='tweet-text'>
<% i = 0 %>
<% while i < feed.text.length do %>
<%= feed.text[i] %>
<% i += 1 %>
<% end %>
</div>
目前,我只想使其正确显示,没有空白。如果找到#。并且因为有问题,我想将#颜色改为某种颜色。
每个字母之间有多个空格,这就是为什么用这种方式呈现空格的原因。
您的代码不是很像红宝石,但是如果您真的很想保持它的原样,则可以这样写:
<div class='tweet-text'>
<% i = 0 %>
<% while i < text.length do %><%= text[i] %><% i += 1 %><% end %>
</div>
希望您会重新审视并改善它。
实际上,我搜索了比上面更多的Ruby on Rails解决方案,因此对我来说,它可以显示任何#word作为链接,这要简单得多。
<div class='tweet-text'>
<%= highlight(feed.text, /#\w+/, highlighter: '<a href="search?q=\1">\1</a>') %>
</div>