Преобразовать новую строку в правильное значение Javascript - PullRequest
0 голосов
/ 02 марта 2012

У меня есть ряд данных, которые я хочу поместить в массив в JavaScript.Я использую Wordpress в качестве cms, и мои данные выглядят так (содержание поста):

line1
line2
line3

Однако, когда я пытаюсь искать данные из поста, я вижу этот код в javascript, скажем, 3Сообщения:

var locations=['line1
line2
line3','line1
line2
line3','line1
line2
line3'];

Я получаю эту ошибку, когда я смотрю в консоли: Uncaught SyntaxError: Неожиданный токен ILLEGAL .Я искал здесь много ответов, но мне не удалось сломать ногу с ним.Тем не менее, я посмотрел на вкладке HTML содержимого нет <br/>, поэтому новая строка не HTML-код.

Я также пытался экранировать специальные символы в php, как это, но он выдает ту же ошибку:

echo '\''.htmlspecialchars (get_the_content()).'\',';

Однако, если содержимое находится в одной строке, как «некоторый текст»кажется, что все в порядке.

Есть идеи?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 02 марта 2012

Используйте json_encode (), чтобы превратить его в литерал JavaScript перед выводом.

1 голос
/ 02 марта 2012

На самом деле это вопрос php.Javascript не может самостоятельно «восстанавливаться» после таких синтаксических ошибок.

echo "'".str_replace(
    array("'", "\n", "\r"),
    array("\\'", "\\n", "\\r"),
    get_the_content()
)."'";
...