json_encode不接受专栏或特殊章程或空白

时间:2019-01-30 08:12:28

标签: php json

我试图通过json编辑数据,但是每当我在任何列上使用带有特殊章程的json时,当json不正确时,它都不接受给出错误的提示,例如

  

未捕获的TypeError:无法使用'in'运算符在其中搜索'length'   {“ id”:“ 21”,“问题”:“参加者计分组织者可以编辑他们的   参加者

     

我要编辑的数据是这样的

     

参加者评分组织者可以在以下位置编辑参加者的分数   随时随地(@status)

所有内容都来自像这样的数组形式的数据库表

  

Array([id] => 21 [question] =>参与者计分组织者可以   随时编辑参与者的分数,无论   事件(@status)

我正在使用json_encode()函数以json的形式转换数组形式的内容,但是它无法正常显示上述错误

我尝试过

data-json='<?php echo json_encode($ques,true); ?>'

data-json='<?php echo json_encode($ques,JSON_UNESCAPED_UNICODE); ?>'

data-json="<?php echo json_encode($ques,true); ?>"

data-json=\"<?php echo json_encode($ques,true); ?>\"

当我单击链接时,我进入了编辑页面,但是json_encode不起作用。有人可以告诉我为什么它不接受特殊的宪章,专栏或某个空白吗?

<td><a href="#/pencil-square-o" class="edit_faq option_icon"
data-json='<?php echo json_encode($ques,true); ?>'
data-block="athlete_form_block" data-form="faq_form" ><i  class="fa
fa-edit"></i></a>

1 个答案:

答案 0 :(得分:1)

使用htmlspecialchars($data, ENT_QUOTES, 'UTF-8')转义HTML属性,如下所示:

 <td><a href="#/pencil-square-o" class="edit_faq option_icon"
     data-json='<?php echo htmlspecialchars(json_encode($ques), ENT_QUOTES, 'UTF-8'); ?>'
     data-block="athlete_form_block" data-form="faq_form" ><i  class="fa
     fa-edit"></i></a>