小编典典

在 PHP 中,为什么不显示解析错误?

all

我正在运行以下PHP代码:

<?php 
    </script>
?>

没有解析错误, 输出为?>”(示例)。

在类似的情况下,我确实收到了解析错误:

<?php 
    </div>
?>

解析错误:语法错误,意外的 ‘<’ in …

为什么不<?php </script> ?>给出同样的错误?


阅读 59

收藏
2022-07-16

共1个答案

小编典典

这一定是因为有多种方式可以启动一段 PHP 代码

  • <? ... ?>(称为short_open_tag

  • <?php ... ?>(真的是标准)

  • <script language="php"> ... </script>(不建议)

  • <% ... %>(在 5.3.0 之后已弃用并删除了 ASP 样式标签)

显然,您可以以一种方式打开 PHP 块,并以另一种方式关闭它。不知道那个。

因此,在您的代码中,您打开了块使用<?但 PHP 识别</script>为更接近。发生的事情是:

<?php       <----- START PHP
</script>   <----- END PHP
?>          <----- JUST GARBAGE IN THE HTML
2022-07-16