<?php
$javascript = <<<EOT
<script type="text/javascript">
function test () {
return 'test test test \n test test test';
}
</script>
EOT;
echo $javascript;
?>
上面的\ n被PHP解析为换行符,生成HTML源代码,如下所示
return 'test test test
test test test';
这导致JavaScript语法错误:未终止的字符串文字。
我有很多JavaScript代码,所以我不想像
那样包装它们$javascript = "<script type=\"text/javascript\">\nfunction test()...\n";
实际上JavaScript代码没有直接回显到页面,它被传递给另一个函数,这就是我需要PHP变量的原因。
那么如何定义一个包含大量JavaScript代码的PHP变量导致问题呢?
是否有像if / endif的方法?
<?php if (condition): ?>
html code...
<?php endif ?>
答案 0 :(得分:6)
选项1:使用NOWDOC,对于HEREDOC,'
单引号为"
双引号。
$javascript = <<<'EOT'
...\n...
EOT;
选项2:逃避特殊字符:
$javascript = <<<EOT
...\\n...
EOT;
答案 1 :(得分:0)
我的代码:
$javascript = <<<'EOT'
<script type="text/javascript">
$demo = 'test';
alert($demo);
</script>
EOT;
echo $javascript;
如果我使用&#39; EOT&#39;然后我在javascript中的代码运行良好,但我使用EOT然后我的代码将理解$ dem是PHP中的变量