передача из php в javascript многострочной переменной
как передать из php в javascript многострочную переменную , в переменной html код страницы , т.е. мусора всякого много ...
Код:
<?php var text = <> this is my multi-line text </>.toString();
function jsAddSlashes($str) {
$pattern = array(
"/\\\\/" , "/\n/" , "/\r/" , "/\"/" ,
"/\'/" , "/&/" , "//"
);
$replace = array(
"\\\\\\\\", "\\n" , "\\r" , "\\\"" ,
"\\'" , "\\x26" , "\\x3C" , "\\x3E"
);
return preg_replace($pattern, $replace, $str);
}
<script type='text/javascript'> 2 var string = ""+<r><![CDATA[ 3 многострочная 4 переменная! 5 классно? 6 ]]></r>; 7 </script> |
Многострочных переменных нет, вообще ничего многострочного нет. Строковые данные разделяются служебными символами, которые в последствии будут интерпретированы как перевод строки (каретки).
Подробности тут |
alert('this \
is \
not \
new line. \
But its \
correct')
|
Мдя, не подумал когда отвечал. Представить себе даже не могу где такое может понадобиться, особенно если это из РНР приползло.
|
в переменной html код , какой заранее неизвестно , меняю символы <> на {} и вставляю в текстареа , поотом яваскриптом беру из текстареа
лучше ничего не придумал |
var value = <?= json_encode($php_value) ?>; |
Вообще РНР плохо работает с JavaScript (вернее JS призначен только для HTML)! Поэтому лутше для РНР использовать AJAX!
|
Цитата:
|
Цитата:
|
Потому что не надо ничего ни к чему привязывать. PHP генерирует JavaScript, никто ни к кому не привязывается.
|
| Часовой пояс GMT +3, время: 23:07. |