在PHP中,为什么</ script>不显示分析错误?
我正在运行以下PHP代码:
<?php
</script>
?>
没有解析错误, 输出是 “ ?>
”(例子)。
在类似的情况下,我得到一个解析错误:
<?php
</div>
?>
解析错误:语法错误,意外的'<'in ...
为什么不<?php </script> ?>
给出相同的错误?
这一定是因为有各种方式启动一段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
在PHP中,您可以使用script
标记打开一个PHP块。
所以你可以使用
<script language="php">
echo 'hello world';
</script>
因此,在您的示例中,您已将常规开放标记<?php
与结束标记</script>
混合在一起。 所以解析器假定关闭脚本标记之后的所有文本都是正常的HTML
。
阅读更多从HTML转义。
链接地址: http://www.djcxy.com/p/69417.html