<?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 ?>
最佳答案
选项 1:使用 NOWDOC , 这对于 HEREDOCs 就像 '
单引号对于 "
双引号一样。
$javascript = <<<'EOT'
...\n...
EOT;
选项 2:转义特殊字符:
$javascript = <<<EOT
...\\n...
EOT;
关于javascript - PHP 解析 heredoc 中的 JavaScript 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27644901/