2015-02-24 22 views
0

------------- PHP代码在这里结束-------------如何将JavaScript变量分配给JavaScript代码中的JavaScript变量?整个文件是PHP虽然

<script type="text/javascript"> 
    var e = <?php echo $tweetText; ?>; 
    var f = twemoji.parse(e); 
    document.write(f); 
</script> 

----- -------- php代码从这里开始-------------

如果我在前后加单引号或双引号,那么它会匹配tweetText中的任何“或”并且不会让字符串打印到屏幕

+2

的可能重复[如何分配PHP变量值JavaScript变量?](http://stackoverflow.com/questions/5895842/how-to-assign-php-variable-value-to-javascript-变量) – Rizier123 2015-02-24 15:47:07

+0

那么你必须引用该字符串,但我可以保证,你需要的不仅仅是回复推文。那里会有引号和垃圾会导致JavaScript错误。 – Halfstop 2015-02-24 15:47:19

+1

你应该使用'json_encode' php函数。看到这里http://stackoverflow.com/questions/168214/pass-a-php-string-to-a-javascript-variable-and-escape-newlines – 2015-02-24 15:49:04

回答

0

这个解决方案工作得很好,只是增加,,和addslashes”转义引号

<script type="text/javascript"> 
    var e = '<?php echo addslashes($tweetText); ?>'; 
    var f = twemoji.parse(e); 
    document.write(f); 
</script> 
+0

如果字符串中有双引号,该怎么办?它会出现为var e ='他说,'是的,就是这样。''; – Halfstop 2015-02-24 16:20:03

+0

在您的代码中删除斜杠。这不是您的问题的正确解决方案。 – Halfstop 2015-02-24 16:36:36

-1

尝试把双引号内的整个字符串,然后逃逸相同的 - 双引号 - 的JavaScript字符串中,用一个简单的STR功能:

<script type="text/javascript"> 
var e = "<?php echo str_replace('"','\"',$tweetText); ?>"; 
var f = twemoji.parse(e); 
document.write(f); 
</script> 
0
<script type="text/javascript"> 
    var e = '<?php echo $tweetText; ?>'; 
    var f = twemoji.parse(e); 
    document.write(f); 
</script> 

就是这样

+0

如果Tweet看起来像这样: 我爱你'是一个狮子座。 – Halfstop 2015-02-24 15:52:08

+0

你能解释一下你的评论吗@哈夫斯托普? – developppper 2015-02-24 15:53:41

+0

我试过了,这个工作正常,我不想忽略什么是问题,为什么我减号? – developppper 2015-02-24 15:54:55

0

这样做,因为@vivek中表示将与json_encode的最佳方式一条评论。

<script type="text/javascript"> 
var e = <?php echo json_encode($tweetText); ?>; 
var f = twemoji.parse(e); 
document.write(f); 
</script> 
相关问题