在这个PHP代码中,我使用heredoc EOF插入一些javascript:
$room= <<<EOF
<script type="text/javascript" charset="utf-8">
test;
</script>
EOF;
当我试图回显$ room时,它不会出现:
echo "<li style=\"text-align: center;\"><img src=\"example.com\" width=\"264\" height=\"198\" alt=\"\" /> $room</li>";
($ room不会出现在html中)。
但是,如果我这样做:
$room= <<<EOF
test;
EOF;
然后单词test在我的list html元素中回显。
编辑 - 澄清一下,当我进行第一次回声尝试时,html的源代码中没有任何内容出现(列表出现,但没有脚本标记或在其中测试)。
答案 0 :(得分:1)
<script type="text/javascript" charset="utf-8">
test;
</script>
对javascript基本上没有任何意义。我想你想要(至少输出任何东西):
<script type="text/javascript" charset="utf-8">
document.write('test');
</script>
如果你真的想要显示脚本标签,请尝试:
echo '<li style="text-align: center;"><img src="example.com" width="264" height="198" alt="" />', htmlspecialchars($room), '</li>';