Saya menjalankan kode PHP berikut :
<?php
</script>
?>
Tidak ada kesalahan parse dan hasilnya " ?>
" ( contoh ).
Dalam kasus serupa, saya mendapatkan kesalahan parse:
<?php
</div>
?>
Kesalahan parse: kesalahan sintaks, '<' di ...
Mengapa tidak <?php </script> ?>
memberikan kesalahan yang sama?
php
syntax
parse-error
Irfan
sumber
sumber
Jawaban:
Ini pasti karena ada berbagai cara memulai blok kode PHP :
<? ... ?>
(dikenal sebagaishort_open_tag
)<?php ... ?>
(standar banget)<script language="php"> ... </script>
(tidak direkomendasikan)<% ... %>
(tag gaya ASP yang ditinggalkan dan dihapus setelah 5.3.0)Tampaknya, Anda dapat membuka blok PHP satu arah, dan menutupnya dengan cara lain. Tidak tahu itu.
Jadi dalam kode Anda, Anda membuka blok menggunakan
<?
tetapi PHP mengakui</script>
sebagai yang paling dekat. Apa yang terjadi adalah:sumber
<script language="php">
tidak dianjurkan.short_open_tag
arahan. Dalam PHP 5.4<?=
singkat untuk<?php echo
tidak lagi memerlukanshort_open_tag
. Pergi antar sistem di mana<?=
tersedia dan tidak tersedia selalu membuat saya frustrasi. php.net/manual/en/ini.core.php#ini.short-open-tag<?php ... ?>
: php.net/manual/en/language.basic-syntax.phpmode.phpDi PHP, Anda dapat menggunakan
script
tag untuk membuka blok PHP.Jadi bisa digunakan
Jadi, dalam contoh Anda, Anda telah mencampur tag terbuka normal
<?php
,, dengan tag penutup</script>
,. Jadi parser mengasumsikan bahwa semua teks setelah tag skrip penutup adalah normalHTML
.Baca lebih lanjut di Lolos dari HTML .
sumber