【问题标题】:Capitalizing a name using Liquid, doesn't work with special characters使用 Liquid 将名称大写,不适用于特殊字符
【发布时间】:2015-05-12 13:41:04
【问题描述】:

我几乎没有使用液体的经验。

我正在处理电子邮件通讯模板,我有一个液体数组,可以输出用户的名字并将其大写。 我的问题是这家公司是挪威人,我们有一些特殊字符,如 æ、ø 和 å。当涉及到这些时,代码也会将该字母大写:就像 JØrgen(而不是 Jørgen)一样,有什么办法可以解决这个问题吗?

我还有一个场景,用户有一个用破折号分隔的双名; Jan-Thomas,这得到了 Jan-thomas。无论如何也要将其包含在液体代码中?

问候 {% if user.name.size > 0 %}{{ user.name |拆分:“”|第一 |大写 }}{% else %}traveller{% endif %}。

【问题讨论】:

    标签: templates html-email liquid


    【解决方案1】:

    由于 Liquid 是一种基于 Ruby 的模板语言,我认为它对 capitalize 的限制与 Ruby 的字符串类相同:

    大小写转换仅在 ASCII 区域有效。

    http://ruby-doc.org/core-2.2.2/String.html#method-i-capitalize

    【讨论】:

    • 谢谢埃里克。你能帮我完成第二部分吗?
    • 您可以使用assign 保存拆分字符串,循环并大写每个字符串,然后加入数组以将连字符放回中间并打印结果。分配/foreach 演示了here
    猜你喜欢
    • 2015-02-27
    • 2019-05-20
    • 2016-03-03
    • 1970-01-01
    • 2014-08-09
    • 2016-09-13
    • 2019-09-17
    • 1970-01-01
    • 2020-04-02
    相关资源
    最近更新 更多