Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Перевод на другую строку (https://javascript.ru/forum/misc/13813-perevod-na-druguyu-stroku.html)

ВэйДлин 14.12.2010 23:35

Перевод на другую строку
 
Есть такой php код:
$HTML = <<<HTML
Тут текст,
но он 
в несколько строк.
HTML;

header('Content-Type: text/javascript; charset=utf-8');
echo "var text = '".$HTML."';";

Мне надо вывести эту переменную на другом сайте, делаю я это так:
$.getScript("http://сайт.ru/index.php", function(){
alert(text);
});

Ток вот проблема, в переменной не может содержатся контент в несколько строк и из-за этого скрипт не срабатывает.
Кто знает как решить эту проблему?

kadabrik 15.12.2010 02:04

Могут понадобиться следующие функции:

PHP: urlencode
JS: decodeURIComponent

Гугл в помощь.

Gvozd 15.12.2010 02:06

kadabrik,
что за хуйню вы несете?
почитайте справочник что ли?
ВэйДлин,
alert('qwe\r\nasd');

bushstas 15.12.2010 10:50

если я правильно понял конечно

можно в значении переменной до ее передачи заменить все переводы строк например на "###"
$HTML=preg_replace(/[\r\n]/g,'###')


а при получении переменной обратное

$HTML=preg_replace('###','\r')


а хотя если передается HTML то можно вообще убрать все переходы строк

ksa 15.12.2010 13:13

Цитата:

Сообщение от ВэйДлин
как решить эту проблему?

Это нужно?

alert('Строка 1\nСтрока 2\nСтрока 3')

monolithed 15.12.2010 13:18

ksa просто интересно чем ваш вариант отличается от более корректного варианта Gvozd?

ВэйДлин 15.12.2010 13:24

Надо было наверно сказать что что содержимое $HTML я изменить вручную не могу, т.к. я получаю его
благодаря функции file_get_contents()
Цитата:

Сообщение от bushstas (Сообщение 83946)
а хотя если передается HTML то можно вообще убрать все переходы строк

она передаётся в textarea

ksa 15.12.2010 13:30

Цитата:

Сообщение от monolithed
чем ваш вариант отличается от более корректного варианта Gvozd?

Я его просто не рассмотрел, т.е. не видел толком... Как мне теперь быть? :(


Часовой пояс GMT +3, время: 05:27.