экранирование в php:
js: php:
<linebreak> \n
\ \\
\n \\n
Если вы хотите это:
var test = "te\
st";
console.log(test) > "test"
в этом случае вам нужно использовать \
и <linebreak>
(в js), поэтому вам нужно заменить \n
на \\
plus \n
(в php)
<?php
$phpvar = "a text with
a linebreak";
echo "<script type='text/javascript'>
var test;
test = '" . str_replace("\n", "\\\n",$phpvar) . "';
</script>";
?>
это сохраняет разрывы строк как php, но не в javasccript
Но если вы хотите сохранить разрывы строк в javascript следующим образом:
console.log(test) > "te
st"
Вам необходимо добавить \n
как экранированную строку, а не как символ перевода строки.
Так что код будет выглядеть так
var test = "te\n\
st"
console.log(test) > "te
st"
В этом случае вам нужны \n
и \
и <linebeak>
(в js), поэтому вам нужно заменить \n
на \\n
плюс \\
плюс \n
<?php
$phpvar = "a text with
a linebreak";
echo "<script type='text/javascript'>
var test;
test = '" . str_replace("\n", "\\n\\\n",$phpvar) . "';
</script>";
?>
это сохраняет разрывы строк в php, а также добавляет разрывы строк в javascript