Cas*_*sie 4 whitespace escaping ruby-on-rails html-entities ruby-on-rails-3
我知道rails会自动转义像'<'或'&'这样的字符,但这对于彼此相邻的多个空格没有任何作用.我想逃避一切,包括空间.
我明白通常你不想使用 ,你应该使用css代替.但是,我正在尝试接受用户输入并显示它,因此css不可行.
例如,我有用户输入: test .当我<%=@user_input%>在视图中显示它时,额外的空格显示为单个空格(尽管它在源中正确显示).
有没有一个简单的方法来逃避空白?我应该使用h @user_input然后替换所有空格吗?
空格不会被删除.浏览器只是将多个空白字符解释为单个空格.
如果需要,您可以将每个空间转换为:
<%= raw @user_input.gsub(/\s/, " ") %>
Run Code Online (Sandbox Code Playgroud)
您也可以使用空<span class="whitespace"></span>标记替换每个空格,然后使用CSS来设置空白"字符"的样式,无论您喜欢什么.
最后,您也可以使用该样式仅使用CSS (下面的示例).white-space: pre
编辑 (回答评论中的后续行动)
<%= raw h("this is a sample & with ampersand.").gsub(/\s/, " ") %>
Run Code Online (Sandbox Code Playgroud)
这将转义&为&源中的as (并且将对其他HTML实体执行类似操作),然后" "进行 转换.
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |