String YAML中包含引号的多行字符串
我有一个YAML配置文件,可以包含一点CSS用于定制目的String YAML中包含引号的多行字符串,string,yaml,silex,String,Yaml,Silex,我有一个YAML配置文件,可以包含一点CSS用于定制目的 css.custom: > .company-logo { height: 60px; padding-top: 15px; } .input[type=\"text\"] { background: white; border: 1px solid gray; border-radius: 3px; } 然后在名为base.css.twig的文件中呈现,如下所示: {{ c
css.custom: >
.company-logo {
height: 60px;
padding-top: 15px;
}
.input[type=\"text\"] {
background: white;
border: 1px solid gray;
border-radius: 3px;
}
然后在名为base.css.twig的文件中呈现,如下所示:
{{ css.custom }}
我的问题是,input[type=\“text\”]
中的引号无法正确呈现,因为反斜杠按字面形式呈现,引号呈现为“
。有人知道如何成功呈现原始引号吗
生成的渲染:
input[type="text"]
在YAML多行标量字符串中不能转义任何内容。您不必转义引号,因此应省去\
:
css.custom: >
.company-logo {
height: 60px;
padding-top: 15px;
}
.input[type="text"] {
background: white;
border: 1px solid gray;
border-radius: 3px;
}
你也应该考虑如果你真的想要折叠(<代码> <代码>),而不是多行标量的文字(<代码> <代码> >样式。< /P>
委员会:
折叠样式由“>”指示符表示。它类似于文字样式;但是,折叠标量可以进行行折叠
而且没有逃逸:
无法在文字标量内转义字符。这将它们限制为可打印字符。此外,也无法中断长文字行
解决方案是使用{{css.custom | raw}
我以为我已经在使用raw
,但我错了。这并不能回答我的问题,因为引用被呈现为“
。使用
或|
对我来说是一样的。事实上,我认为一行中的所有内容都更适合这个目的。它也不能解决问题。如我所述,从
到|
的更改是可选的。重要的一点是,您似乎认为需要通过在引号之前加上反引号来转义引号,但在折叠/文字YAML字符串中,您不能这样做。(如果您的处理软件需要反向报价,那么这与YAML无关,您错误地标记了问题)。我认为我们不能假设标记为YAML
的问题确实可以用YAML知识回答,因为OP可能不清楚问题与YAML无关,答案告诉他们这当然是有帮助的。@flyx我一直在尝试清理问题,其中恰好涉及到,但根据标签描述,与问题无关),因为无关标签无助于提问者,并分散了未来对“真正”YAML相关问题的搜索。但这就像是逆流而上,似乎没有人阅读标记描述。YAML提供了一个css.custom
键,但在Twig中,您可以访问变量css.customCss
。此外,给定的细枝代码可能不足以识别错误。您是否处于{%autoescape%}
环境中?如果删除|raw
,会发生什么?我的错,我在示例中犯了一个错误。我将对其进行测试,并在有原始过滤器和无原始过滤器的情况下发布结果。@flyx证明您是对的。这一直是个问题!我看错地方了,生肉不见了!