2014-05-11 85 views
-1

在js代码打印PHP字符串后,我得到错误PHP如何输出字符串到html

<script type = "text/javascript"> 
    var editorHtml = "<?php echo $editorHtml; ?>"; 
</script> 

当字符串包含"双引号,我得到意想不到的令牌非法的,因为双引号关闭JS字符串在中间。

<script type = "text/javascript"> 
    var editorHtml = '<?php echo $editorHtml; ?>'; 
</script> 

我试试这个,但我得到类似的问题,如果字符串包含'单引号。 我需要一个unuiversal解决方案,当字符串包含'"报价。

+0

什么?请清楚。我不能让头或尾巴出来 –

+0

例如。 echo $ string; // aaaa“”“///'''llfgfgfgTTTRrkk;我怎样才能把它传递给js? – styopdev

+0

是你的文件是一个'.html'还是'.php'文件? php'文件! –

回答

-1

看一个例子:

<?php 
    $someVar = 1; 
?> 

<script type="text/javascript"> 
    var javaScriptVar = "<?php echo $someVar; ?>"; 
</script> 
+0

你在我的排队中看到例子并阅读它吗? – styopdev

+0

不,这是一个可行的例子;) – manxten

+0

他的问题不是很清楚。当'$ someVar'是一个字符串并且包含'“时(在你的例子中,因为JS会变成'var javaScriptVar =”一些带有双引号的东西:“foo”“;'),问题就会发生。 – ccKep

0
<script type = "text/javascript"> 
    var editorHtml = <?php echo str_replace(array(']]>', '<!'), array(']]\x3E', '\x3C!'), json_encode($editorHtml)); ?>; 
</script> 

进行消毒在所有情况下正常。

+0

它不工作,$ editorHtml = Hello world;我得到错误意外的标识符,代码在浏览器中 styopdev

+0

@styopdev对不起,我忘记删除引号声明,现在它应该工作。 –