Замена \ r \ n (символы новой строки) после запуска json_encode

Поэтому, когда я запускаю json_encode, он также захватывает \ r \ n из MySQL. Я пробовал переписывать строки в базе данных безрезультатно. Я попытался изменить кодировку в MySQL с по умолчанию latin1_swedish_ci на ascii_bin и utf8_bin. Я сделал тонны str_replace и chr (10), chr (13). Я не знаю, что еще сказать или сделать, я просто оставлю это здесь …

$json = json_encode($new); if(isset($_GET['pretty'])) { echo str_replace("\/", "/", jsonReadable(parse($json))); } else { $json = str_replace("\/", "/", $json); echo parse($json); } 

Функция jsonReadable отсюда, и функция синтаксиса отсюда . Str_replaces, которые уже есть, потому что я получаю странные отформатированные html-теги, например </ h1>. Наконец, $ new – это массив, созданный выше. Полный код по запросу.

Помогите мне StackOverflow. Ты моя единственная надежда

Строка содержит «\ r \ n» (как в 0x0D 0x0A) или буквальную строку '\ r \ n'? Если это первый, это должно удалить любые новые строки.

 $json = preg_replace("!\r?\n!", "", $json); 

При желании замените второй параметр «» на «<br />», если вы хотите заменить символы новой строки тегом br. В последнем случае попробуйте выполнить следующее:

 $json = preg_replace('!\\r?\\n!', "", $json); 

Не заменяйте его в JSON, замените его в источнике перед его кодировкой.

У меня была аналогичная проблема, я использовал:

 $p_num = trim($this->recp); $p_num = str_replace("\n", "", $p_num); $p_num = str_replace("\r", ",", $p_num); $p_num = str_replace("\n",',', $p_num); $p_num = rtrim($p_num, "\x00..\x1F"); 

Не уверен, что это поможет с вашими требованиями.