将PHP数据注入JavaScript代码
用撇号输出PHP代码的首选方式是什么?例如,此JavaScript代码将中断,第二行将完全为空:将PHP数据注入JavaScript代码,javascript,php,Javascript,Php,用撇号输出PHP代码的首选方式是什么?例如,此JavaScript代码将中断,第二行将完全为空: var jsString = '<div id="content">'+'<?php echo $something['1'] ?>'+'</div>'; var jsString=''+''; 谢谢!我知道这是一种基本的方法,我知道如何修复它,但我想知道如何正确地处理它 [编辑] 我知道这看起来很明显,但是$something[“1”]不起作用。这同样适用于
var jsString = '<div id="content">'+'<?php echo $something['1'] ?>'+'</div>';
var jsString=''+'';
谢谢!我知道这是一种基本的方法,我知道如何修复它,但我想知道如何正确地处理它
[编辑]
我知道这看起来很明显,但是
$something[“1”]
不起作用。这同样适用于$something[\'1\']
这个例子对我来说很有效:
<?php
$something['1']='hhhh0';
?>
<script type='text/javascript'>
var jsString = '<div id="content">'+'<?php echo $something['1'] ;?>'+'</div>';
alert(jsString);
</script>
var jsString=''+''+'';
警报(jsString);
这个例子对我来说效果很好:
<?php
$something['1']='hhhh0';
?>
<script type='text/javascript'>
var jsString = '<div id="content">'+'<?php echo $something['1'] ;?>'+'</div>';
alert(jsString);
</script>
var jsString=''+''+'';
警报(jsString);
PHP不会解释
标记之外的任何内容,因此Javascript内容是无关的。我认为这应该用Javascript标记,而不是PHP。@Lix不是真的,因为这与Javascript无关(除了他在示例中使用js)@ken OP想知道如何在JS中正确转义字符串。需要转义的字符串是PHP这一事实与此无关。在JavaScript中打印python或C#时也会遇到同样的问题。正在使用的编程语言是JavaScript.RonLugge,我正在尝试向JS中注入一个字符串,而这个字符串恰好是PHP。PHP不会解释
标记之外的任何内容,因此JavaScript内容是不相关的。我认为这应该用JavaScript标记,而不是PHP。@Lix不是真的,因为这与javascript无关(除了他在示例中使用js之外)。@ken OP想知道如何在js中正确转义字符串。需要转义的字符串是PHP这一事实与此无关。在JavaScript中打印python或C#时也会遇到同样的问题。正在使用的编程语言是JavaScript.RonLugge,我正在尝试向JS中注入一个字符串,而这个字符串恰好是PHP。我想我已经找到了问题所在,它毕竟与撇号无关。尝试将换行符存储在$something['1']中。它也有用吗?即使是json_encode()也不会有帮助,因为其中有一些HTML标记。呃。@Wordpressor您的实际数据是什么样子的?我用一个换行符和HTML标记尝试了这个解决方案,它似乎起了作用:@showdev,我想我要问另一个问题,我的数据来自一个文本区域,用户输入它,它可以包含任何HTML标记,因此它可能是,例如:标题
[用户点击此处输入下一行]其他内容
[新行的另一个输入]等。我想我需要做的就是用'+
替换每一行,尽管这似乎不是一件容易的事情。@Wordpressor我建议用户去除标签()
php中的函数要消除post变量中的每个标记,请注意注入和xssattacks@FaceOfJock,如果我想把标签放在那里怎么办?我想这需要付出很大的努力才能完成?我想我已经找到了问题所在,毕竟它与撇号无关。尝试将换行符存储在$something['1'中].它也能工作吗?甚至json_encode()不会有帮助,因为里面有一些HTML标记。呃。@Wordpressor您的实际数据是什么样子的?我尝试了这个解决方案,使用了换行符和HTML标记,它似乎起了作用:@showdev,我想我要问另一个问题,我的数据来自文本区域,用户输入它,它可以包含任何HTML标记,例如:标题
[用户点击此处输入下一行]其他东西
[另一个输入输入新行]等等。我想我需要做的就是用'+
替换每一行,尽管这似乎不是一件容易的事。@Wordpressor我建议用户去掉标签()
php中的函数要消除post变量中的每个标记,请注意注入和xssattacks@FaceOfJock,如果我想把标签放在那里呢?我想这需要很多努力才能完成?