doufan1363 2017-12-09 12:00
浏览 35
已采纳

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

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.

{% 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>

展开全部

  • 写回答

1条回答 默认 最新

  • duanjipiao7076 2017-12-09 12:12
    关注

    try this

      <div{{ (id?' id="'~id~'"')|raw }}>my div1</div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部