$str is loading dynamic content from admin panel (tinymce) in following format
$str = 'First Line
Second Line
Third Line';
Now when i try to access this variable then it gives me unterminated string literal
<script type="text/javascript">
$(document).ready(function() {
var a = '<?php echo $str;?>';
$('#abc').html(a);
});
</script>
<div id="abc"></div>
当我将字符串转换为$str = 'First line Second line Third line';
时,它不会出错,但我的字符串是在上面。
答案 0 :(得分:2)
将PHP变量转储到JavaScript时,总是使用json_encode
。像这样:
var a = <?php echo json_encode($str); ?>;
请注意PHP代码周围没有引号,这很重要! PHP将为您添加引号并正确转义所有内容。
答案 1 :(得分:0)
这是换行符,它们在JavaScript字符串文字中无效。如果您想在JavaScript字符串中使用多行,请使用反斜杠(\
):
var testString = 'This is \
a test';
即使这样,当设置为HTML元素的内容时,也会删除多个空格(包括换行符)。
那就是说,我不明白你为什么要使用JavaScript来做这件事,你可以这样做:
<div id="jaspreet"><?php echo $str;?></div>