Я использовал следующий код PHP :
<?php </script> ?>
Ошибок разбора не было, и результат был « ?> » ( Пример ).
В подобных случаях я получаю ошибку синтаксического анализа:
<?php </div> ?>
Ошибка анализа: синтаксическая ошибка, неожиданная «<» в …
Почему <?php </script> ?> дает такую же ошибку?
Это должно быть потому, что существуют различные способы запуска блока кода PHP :
<? ... ?> <? ... ?> (известный как short_open_tag )
<?php ... ?> (стандарт действительно)
<script language="php"> ... </script> (не рекомендуется)
<% ... %> (устаревший и удаленный тег ASP-стиля после 5.3.0)
По-видимому, вы можете открыть блок 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 .
Подробнее читайте в разделе Escaping from HTML .