Подтвердить что ты не робот

В конце witt... Javascript не заменит '\n'!

Я собираюсь решить эту проблему в течение целых двух часов и иметь нулевую удачу. Не знаю, как это возможно; Я попытаюсь обобщить.

Я использую TinyMCE для вставки нового контента в БД, этот контент отправляется обратно как ответ AJAX после его вставки в БД и затем отображается на странице, заменяя какой-то старый контент. Все это не актуально (насколько я могу судить), но оно служит фоном для проблемы.

Во всяком случае, текст ответа имеет "\n" соответственно везде, где у контента были разрывы строк. Кажется, я не могу удалить этих чертовски "\n" для жизни меня. Я пробовал дюжину регулярных команд и заменил комбо с нулевой удачей. Я проверял, что не теряю рассудок и что код обычно работает, пытаясь заменить другие слова внутри этой строки, и это работает отлично - он просто НЕ заменит "\n". Вот какой код я использовал, пытаясь заменить '\n's:

responseText = responseText.replace(/\ r |\n |\r\n/g, ");

responseText = responseText.replace(Array (" \ r", "\n", "\ f "," \ r\n", "\n" ), "");

Нитье из тех, кто что-то делает с переменной. Я предупреждаю об этом сразу после проверки изменений, нада. Я понятия не имею, поможет ли это, но здесь приведен фрагмент примера "\n" с копией, который не исчезнет или изменится.

High School transcript</li>\n<li>SAT/ACT

В качестве побочного примечания я попытался сделать это через PHP до того, как responseText будет отправлен обратно в javascript с аналогичной заменой и регулярным выражением, и он тоже НЕ работает.

4b9b3361

Ответ 1

Вы уверены, что это строка новой строки, а не буквальная "\n" (это экранированная новая строка)?

Попробуйте это вместо: (обратите внимание на двойную обратную косую черту)

responseText = responseText.replace(/\\n/g, "");

Ответ 2

responseText = responseText.replace(/\n/g, "");

Не забудьте использовать флаг /g, иначе будет заменен только первый!