Json返回字符
Json returns characters
当我尝试在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_repace之后,我得到:
{"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);
但我不确定我为什么会遇到这个问题。
$data['content'] = str_replace( array("'n","'t","'r"), "", $content );
使用从内容中删除不必要的空白
$content = preg_replace("@[''r|''n|''t]+@", "", $content);
$data['content'] = $content;
echo json_encode($data);
在将其添加到$data
和json_encode
之前,从$content
中删除新行和制表符。
相关文章:
- 从JavaScript中正确返回html中的特殊字符
- 为什么Angularjs服务返回的是字符数组而不是对象数组
- 如何使用match返回字符串中的字符
- 尊重“; 〃;从HTML显示中的API响应返回的换行符(和特殊字符)
- 请求返回 unicode 替换字符
- Javascript正则表达式,返回连字符和空格后面的数字
- 为什么这个正则表达式返回前面的字符
- 使用onkeypress/onkeydown返回自然语言字符,同时保留退格功能
- 从nodejs-crypto返回的字符串中修剪非ascii字符
- Typeahead.js-特殊字符返回为“”&#230"等
- 正则表达式搜索短语,在短语后返回“n”个字符
- Object.keys(obj).length 返回字符总和而不是记录总数
- 为什么这是 for 循环返回字符的索引而不是整个属性
- Javascript - 如何获取字符串,打印单词,字符,空格,平均单词长度的#并作为对象返回
- 我如何调整这个 javascript 以返回一个后代号,减去最后 2 个字符
- 在 PHP 子字符串中返回这些类型的字符
- 返回句子中最大数量的重复字符
- Javascript JSON 返回带有未转义字符的错误
- 使用 Javascript 在 MongoDB 中使用希腊字符执行查询不会返回任何结果
- 插入英文字符,得到希腊字符返回(javascript)