【发布时间】:2015-02-23 01:03:23
【问题描述】:
<?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 ?>
【问题讨论】:
-
改用NOWDOC。
-
操作码中有一个变量,NOWDOC 会跳过它。使用输出缓冲。
-
@mario 将 EOT 更改为“EOT”工作
-
展示自己的投票者
标签: javascript php html variables heredoc