Переносы строки и Json
Столкнулся с такой проблемой, есть текст с переносом строки внутри
Привет Как дела?
Когда пытаюсь передать её через Ajax под видом JSON получается следующее
{custom:"Привет
Как дела?"}
Работающий перенос строки останавливает работу скрипта. Надо было убрать перенос для js, но что бы он одновременно работал в форме куда этот текст и вставлялся
$value = preg_replace('#[\n\r]+#', "\\n", $value);
Теперь все стало работать так как текст выглядит так
{custom:"Привет\nКак дела?"}
January 28th, 2008 at 9:13 pm
Ага, сталкивался тоже с такой проблемой, только я ещё и субмитил перенос строки тоже. Ещё бывают проблемы с субмитом особых символов посредством ajax в IE.
February 5th, 2008 at 10:30 am
вообще то при генерации строки в json формате надо обрабатывать все спец.символы. Почему не обрабатываете кавычки?
February 5th, 2008 at 10:36 am
Да, и собственно предложенная замена не совсем корректна. Спец.символы в строках на js — это нормально, соответственно: “\n” -> ‘\n’, “\r” -> ‘\n’ и т.д.
February 13th, 2008 at 2:41 pm
Mike вы правы, но текст береться из из базы, а в базу я его кладу предварительно сэкранировав, поэтому необходимость отпадает в моем случае но грамотно конечно было бы обрабатывать.
March 8th, 2010 at 9:29 pm
Такая же проблема, но при использовании регулярок для SimpleXML элементов. Использовал туже самую регулярку.