2016-07-15 81 views
-2

我试图输出Javascript代码heredoc语法,我希望它可以用PHP print_r函数打印出来。有可能这样做吗?是否有可能在php heredoc语法中编写javascript?

PHP:

<?php 
function printR($val){ 
    echo "<pre>"; 
    print_r($val); 
    echo "</pre>"; 
} 

$str = <<<EOT 
    var msg = "Hello my name is "; 
    var name = "Jermaine Forbes"; 
    function writeIt(m,n){ 
     console.log(m+n); 
    } 
    writeIt(msg,name); 
    EOT; 

printR($str); 
?> 

(由@FirstOne:我一直以来有EOT; idented *关于它的评论)

+1

你试过吗? – Timo

+0

TimoSta是的,我得到了一个错误,说“第50行的文件意外结束” –

+0

即使你可以,这不会是好的做法 –

回答

2

当然可以。如果你希望拥有字符串中只有JavaScript(没有PHP变量),我会用nowdoc代替定界符(使用单引号开口周围EOT

$str = <<<'EOT' 
      var msg = "Hello my name is "; 
      var name = "Jermaine Forbes"; 
      function writeIt(m,n){ 

       console.log(m+n); 
      } 

      writeIt(msg,name); 

EOT; 

还要注意的是结束分隔符必须是独自在最后。线不能之前或之后有任何空间,你的代码没有工作,因为你已经缩进EOT;From the docs:。

警告:需要注意的是非常重要的,与收盘 标识线除分号(;)外,不得包含其他字符 这意味着esp特别是标识符可能不缩进,并且在分号之前或之后可能没有任何空格或制表符。

+0

我没有尝试输出JavaScript,因此它可以执行该功能。我试图打印出来,以便您可以在网页上看到JavaScript。有人编辑我的描述,所以人们不确定我想做什么 –

+0

好吧,我明白了,我已经删除了我的结束语。答案有助于解决您的问题?如果是这样upvote&选择它。否则,让我知道它如何不足,以便我可以学习写出更好的答案。 – BeetleJuice

相关问题