我将 json_encode 对象传递到按钮中。 <button aria-controls="web-share-fallback" aria-expanded="false" class="c-share__link btn-link underline font-normal" data-js="web-share track" data-web-share='{{ post.getWebShare()|json_encode }}' data-track-key="Web Share" data-track-data='[{"action": "web-share"}]'>现在getWebShare()返回一个数组,该数组似乎在以下字符串中被破坏。这个词can't似乎导致字符串结束,从而阻止按钮启动。json_encode似乎没有解决这个问题。 public function getWebShare() { foreach ($this->web_share as &$value) { $value = addslashes($value); } return $this->web_share; }addslashes方法似乎确实将 the 添加\到can't试图对其进行转义的单词中,但它仍然破坏了整个字符串,如上图所示。我该如何处理以单个撇号结尾的字符串?
1 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
该函数json_encode
仅将数据编码为有效的 JSON 格式。要使用 JSON 字符串(或任何与此相关的字符串)作为有效的 HTML 标记属性,您应该使用htmlspecialchars或等效方式来处理它。
Twig 的逃逸过滤器应该适合您的情况。
<button aria-controls="web-share-fallback" aria-expanded="false"
class="c-share__link btn-link underline font-normal"
data-js="web-share track" data-web-share='{{
post.getWebShare()|json_encode|escape }}' data-track-key="Web Share" data-track-data='[{"action": "web-share"}]'>
- 1 回答
- 0 关注
- 89 浏览
添加回答
举报
0/150
提交
取消