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