<?php
$javascript = <<<EOT
<script type="text/javascript">
function test () {
return 'test test test n test test test';
}
</script>
EOT;
echo $javascript;
?>
上面的 被 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 ?>
选项 1:使用 NOWDOC,即 HEREDOC,就像'
单引号对双引号"
一样。
$javascript = <<<'EOT'
...n...
EOT;
选项 2:转义特殊字符:
$javascript = <<<EOT
...\n...
EOT;
我的代码:
$javascript = <<<'EOT'
<script type="text/javascript">
$demo = 'test';
alert($demo);
</script>
EOT;
echo $javascript;
如果我使用"EOT",那么我在 javascript 中的代码运行良好,但我使用 EOT,那么我的代码将理解 PHP 中$dem变量