php - remove - strip_tags wordpress
En PHP, ¿por qué</script> no muestra un error de análisis? (2)
En PHP, puede usar la etiqueta de script
para abrir un bloque de PHP.
Así que puedes usar
<script language="php">
echo ''hello world'';
</script>
En su ejemplo, ha mezclado la etiqueta abierta normal, <?php
, con la etiqueta de cierre, </script>
. Por lo tanto, el analizador asume que todo el texto después de la etiqueta de script de cierre es HTML
normal.
Lea más en Escape de HTML .
Estaba ejecutando el siguiente código PHP :
<?php
</script>
?>
No hubo errores de análisis y la salida fue " ?>
" ( example ).
En casos similares me sale un error de análisis:
<?php
</div>
?>
Error de análisis: error de sintaxis, ''<'' inesperado en ...
¿Por qué <?php </script> ?>
da el mismo error?
Esto debe ser porque hay varias formas de iniciar un bloque de código PHP :
<? ... ?>
<? ... ?>
(conocido comoshort_open_tag
)<?php ... ?>
(el estándar realmente)<script language="php"> ... </script>
(no recomendado)<% ... %>
(etiqueta de estilo ASP desaprobada y eliminada después de 5.3.0)
Aparentemente, puedes abrir un bloque de PHP de una manera y cerrar el otro. No sabía eso.
Así que en su código, abrió el bloque usando <?
pero PHP reconoce </script>
como el más cercano. Lo que paso fue:
<?php <----- START PHP
</script> <----- END PHP
?> <----- JUST GARBAGE IN THE HTML