当我试图在php中回显json时,它返回 \ n \ r \ t 。我怎么能删除它们?
这是我的代码:
ob_start();
$this->load->view('competition/template',$q);
$content = ob_get_clean();
$data['content'] = $content;
echo json_encode($data);
我得到了:
</table>{"ok":1,"content":"<table>\r\n <tr>\r\n\t <td>Competitor name<\/td>\r\n\t <td><input type=\"text\" name=\"competitor_name[2]\" \/><\/td>\r\n <\/tr>\r\n <tr>\r\n <\/tr>\r\n <tr>\r\n <\/tr>\r\n <tr>\r\n <\/tr>\r\n<\/table>"}
这是template.php文件:
<table>
<tr>
<td><?php echo $this->__('Competitor name');?></td>
<td><input type="text" name="competitor_name[<?php echo $id?>]" /></td>
</tr>
</table>
在str_replace或preg_repalce之后,我得到:
{"ok":1,"content":"<table> <tr> <td>Competitor name<\/td> <td><input type=\"text\" name=\"competitor_name[1]\" \/><\/td> <\/tr> <\/table>"}
现在我的问题是 \。
谢谢。
好的,我找到了anwser。这是:
$content = preg_replace("@[\\r|\\n|\\t|\\/|\\\"]+@", "", $content);
但我不确定为什么我会遇到这个问题。
答案 0 :(得分:3)
$data['content'] = str_replace( array("\n","\t","\r"), "", $content );
答案 1 :(得分:2)
使用以下内容从您的内容中删除不必要的空格:
$content = preg_replace("@[\\r|\\n|\\t]+@", "", $content);
$data['content'] = $content;
echo json_encode($data);
答案 2 :(得分:1)
从$content
移除新的行和标签,然后将其添加到$data
和json_encode
。