数据属性中的PHP字符串语法错误

时间:2017-08-14 19:29:42

标签: php json string

这是正确的语法<div class="d" data-slick='{"slidesToShow": 4}'>

我的php代码$output .= '<div class="fashmag-gallery-half" data-slick="">';

我试过但没有运气,这里有什么不对?

$output .= '<div class="fashmag-gallery-half" data-slick="{"slidesToShow": 4}">';

3 个答案:

答案 0 :(得分:1)

您需要在data属性周围放置单引号,因为它在内部使用双引号。由于您还在PHP字符串周围使用单引号,因此您需要转义这些引号。

$output .= '<div class="fashmag-gallery-half" data-slick=\'{"slidesToShow": 4}\'>';

您也可以使用here-doc语法:

$output .= <<<EOS
<div class="fashmag-gallery-half" data-slick='{"slidesToShow": 4}'>
EOS ;

答案 1 :(得分:0)

你不能写那样的双引号

它应该像

<script>
    $(".xyz").each(function () {

        if ($(this).hasClass('xyz')) {
            $(".xyz").datepicker();
        }})
</script>

<asp:TextBox ID="txt" runat="server" CssClass="xyz"></asp:TextBox>

答案 2 :(得分:0)

这里的问题是生成的HTML没有正确的转义引号,因此data-slick="{\"slidesToShow\": 4}"会导致语法错误。尝试使用data-slick="{ slidesToShow: 4}"或更好的方式转义它们,然后从内部删除引号,如下所示:$my_color