简体   繁体   English

在Twig三元运算符中使用引号

[英]Using quotes in Twig ternary operators

How does one prevent quotes from being escaped when used in a twig ternary operator? 在树枝三元运算符中使用引号时,如何防止引号被转义? My desire is <div id="my_id">my div11</div> (or <div id='my_id'>my div11</div> ), however, as seen my results are different. 我的愿望是<div id="my_id">my div11</div> (或<div id='my_id'>my div11</div> ),但是,看到的结果是不同的。

{% set id="my_id" %}
<div{{ id?" id='"~id~"'" }}>my div1</div>
<div{{ id?' id="'~id~'"' }}>my div2</div>
<div{{ id?" id='#{id}'" }}>my div3</div>
<div{{ id?" id=/'#{id}/'" }}>my div4</div>
<div{{ id?' id='~"'"|raw~id~"'"|raw }}>my div5</div>
<div{{ id?' id='~'"'|raw~id~"'"|raw }}>my div6</div>
<div{{ id?" id="~id }}>my div7</div>
<div{{ id?' id='~id }}>my div8</div>
<div{{ id?" id=#{id}" }}>my div9</div>

{% set id="" %}
<div{{ id?" id='"~id~"'" }}>my div1</div>
<div{{ id?' id="'~id~'"' }}>my div2</div>
<div{{ id?" id='#{id}'" }}>my div3</div>
<div{{ id?" id=/'#{id}/'" }}>my div4</div>
<div{{ id?' id='~"'"|raw~id~"'"|raw }}>my div5</div>
<div{{ id?' id='~'"'|raw~id~"'"|raw }}>my div6</div>
<div{{ id?" id="~id }}>my div7</div>
<div{{ id?' id='~id }}>my div8</div>
<div{{ id?" id=#{id}" }}>my div9</div>

Output: 输出:

<div id=&#039;my_id&#039;>my div1</div>
<div id=&quot;my_id&quot;>my div2</div>
<div id=&#039;my_id&#039;>my div3</div>
<div id=/&#039;my_id/&#039;>my div4</div>
<div id=&#039;my_id&#039;>my div5</div>
<div id=&quot;my_id&#039;>my div6</div>
<div id=my_id>my div7</div>
<div id=my_id>my div8</div>
<div id=my_id>my div9</div>

<div>my div1</div>
<div>my div2</div>
<div>my div3</div>
<div>my div4</div>
<div>my div5</div>
<div>my div6</div>
<div>my div7</div>
<div>my div8</div>
<div>my div9</div>

尝试这个

  <div{{ (id?' id="'~id~'"')|raw }}>my div1</div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM