strip_tags remove inicio fin etiquetas ejemplo php syntax parse-error

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 como short_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