Php Twig-替换href内部数据描述中的双引号

Php Twig-替换href内部数据描述中的双引号,php,symfony,twig,Php,Symfony,Twig,我在构建包含href的数据描述时遇到问题。存储的值包含双引号,这显然会导致问题,因此我想用单引号替换双引号。这看起来很简单,但我的替代品似乎不起作用 <img src="#" data-description="{{ photo.description|replace({'%"%': "'"}) }}"/> 说明如下: <p>Cool description blah. <a href="http://www.google.com">Google<

我在构建包含href的数据描述时遇到问题。存储的值包含双引号,这显然会导致问题,因此我想用单引号替换双引号。这看起来很简单,但我的替代品似乎不起作用

<img src="#" data-description="{{ photo.description|replace({'%"%': "'"}) }}"/>

说明如下:

<p>Cool description blah. <a href="http://www.google.com">Google</a></p>
很酷的描述废话

页面上的结果是:

<img src="# data-description="<p>Cool description blah. <a href=\&quot;http://www.google.com\&quot;>Google</a></p>" style="width: 345px; height: 229px;">
很酷的描述废话

“style=”宽度:345px;高度:229px;">
双引号不会被替换,现在将被转义

如果我尝试生的:

<img src="#" data-description="{{ photo.description|replace({'%"%': "'"}) }}"/>

一切都会破裂,最终看起来像这样:

<img src="#" data-description="<p>Cool description blah. <a href=\" http:="" www.google.com\"="" style="width: 345px; height: 229px;">
Google
<p></p>
"/&gt;
很酷的描述废话。
谷歌

"/

我的主要问题是,为什么我不能替换双引号?

这个问题似乎与您指定的替换模式有关:您不需要使用
%
字符(可能会有一点冲突,因为示例将其用作起搏器)

因此,请尝试以下简单方法:

<img src="#" data-description="{{ desc|replace({'"':'\''})|raw }}"/>

一个有效的例子


希望此帮助

我对括号编辑器中接受的版本有问题。该解决方案完全关闭了语法突出显示。但是,以下代码片段对我来说效果很好:

{{ desc|replace({'"':"'"})|raw }}

非常感谢这个解决方案,你是100%正确的。