Замена rn (символы новой строки) после запуска кодирования json
поэтому, когда я запускаю json_encode, он захватывает rn из 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-теги, такие как . Наконец, $new-это массив, созданный выше. Полный код по запросу.
помогите мне StackOverflow. Ты моя единственная надежда!--11-->
3 ответов
содержит ли строка "\r\n "(как в 0x0D 0x0A) или литеральную строку "\r\n"? Если это первое, это должно удалить любые новые строки.
$json = preg_replace("!\r?\n!", "", $json);
при необходимости замените второй параметр "" на "
", Если вы хотите заменить новые строки тегом br. В последнем случае, попробуйте следующее:
$json = preg_replace('!\r?\n!', "", $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");
Не уверен, что это поможет с вашими требованиями.