Replacing \r\n (newline characters) after running json_encode
因此,当我运行json_encode时,它会抓住\\\\
\\\\
也来自MySQL。我试图重写数据库中的字符串无济于事。我尝试将MySQL中的编码从默认的latin1_swedish_ci更改为ascii_bin和utf8_bin。我已经完成了大量的str_replace和chr(10),chr(13)东西。我不知道该说些什么或做些什么,所以我要把这个留在这里...。
1 2 3 4 5 6 7 | $json = json_encode($new); if(isset($_GET['pretty'])) { echo str_replace("\\/","/", jsonReadable(parse($json))); } else { $json = str_replace("\\/","/", $json); echo parse($json); } |
jsonReadable函数从这里开始,而parse函数从这里开始。已经存在的str_replaces是因为我收到了奇怪的格式化html标签,例如。最后,$ new是一个上面精心设计的数组。根据要求提供完整代码。
帮我StackOverflow。你是我唯一的希望
字符串是否包含" "
\\
"(如0x0D 0x0A)或文字字符串'\\
\\
'?如果是前者,则应删除所有换行符。
1 2 3 |
如果要用br标记替换换行符,可以选择将第二个参数"替换为"
"。对于后一种情况,请尝试以下操作:
1 2 3 |
不要在JSON中替换它,而是在编码之前在源代码中替换它。
我曾经遇到过类似的问题:
1 2 3 4 5 6 7 8 | $p_num = trim($this->recp); $p_num = str_replace("\ ","", $p_num); $p_num = str_replace("\ ",",", $p_num); $p_num = str_replace("\ ",',', $p_num); $p_num = rtrim($p_num,"\\x00..\\x1F"); |
不确定这是否能满足您的要求。