我正在运行以下PHP代码:
<?php </script> ?>
没有解析错误, 输出为 “ ?>”(示例)。
?>
在类似的情况下,我确实收到了解析错误:
<?php </div> ?>
解析错误:语法错误,意外的 ‘<’ in …
为什么不<?php </script> ?>给出同样的错误?
这一定是因为有多种方式可以启动一段 PHP 代码:
<? ... ?>(称为short_open_tag)
<? ... ?>
short_open_tag
<?php ... ?>(真的是标准)
<?php ... ?>
<script language="php"> ... </script>(不建议)
<script language="php"> ... </script>
<% ... %>(在 5.3.0 之后已弃用并删除了 ASP 样式标签)
<% ... %>
显然,您可以以一种方式打开 PHP 块,并以另一种方式关闭它。不知道那个。
因此,在您的代码中,您打开了块使用<?但 PHP 识别</script>为更接近。发生的事情是:
<?
</script>
<?php <----- START PHP </script> <----- END PHP ?> <----- JUST GARBAGE IN THE HTML