【问题标题】:Elixir phoenix strip white space from html output in renderElixir phoenix 从渲染中的 html 输出中去除空白
【发布时间】:2017-02-12 13:38:19
【问题描述】:

有人知道如何在 phoenix 中使用 Elixir 从空格中去除 html 吗?
我确实看到了 String.strip 但我检查了渲染返回的内容,它不是字符串......我正在考虑将它放在模板中的位置和方式......但我真正想要完成的是所有空白在要剥离的 html 标记之间。

为什么?
这样我就可以在我的 css 中使用 :empty :D

示例

<div id="hide-me-if-no-content">
  <%= content, some times, this actually spans multiple lines, there's lot of content to go through (under certain conditions) and still sometimes not even one of those 3-9 items are set.  =>
</div>

所以我只想去掉空格,这样如果里面什么都没有,我之间就没有空格,不需要在 div 旁边移动 &lt;%= ,也不需要专门设置功能在这里,只运行“除非设置了任何项目,否则执行此块..”,因为它在不同的视图中是不同的。

【问题讨论】:

  • 我认为您应该手动删除 eex 模板中的空格。
  • 这会导致可怕的标记缩进。
  • 你能举一个简短的例子来说明你想要完成的事情吗?
  • 当然!更新了问题。
  • 顺便说一句,如果您使用部分或视图助手,标记/行长不会太糟糕吧?

标签: elixir phoenix-framework


【解决方案1】:

如果我正确理解了这个问题,String.trim/1 就是您要查找的内容:

iex> String.trim("     ")
""

虽然您可以将其直接放入模板中,但我最好考虑在控制器/视图中生成受人尊敬的 assign 以像这样使用它:

# view
@stripped = String.trim(stuff)

# template
<%= @stripped =>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-22
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    相关资源
    最近更新 更多