Acabo de empezar a aprender php, y estoy atascado en cómo escribir un fragmento de código php dentro de html. Cuando pruebo <pre> y <code> el código php comienza a ejecutarse solo. Nombré el archivo como run.php y quiero mostrar este código como un fragmento como el siguiente
<?php echo "<h2>PHP is Fun!</h2>"; echo "Hello world!<br>"; echo "I'm about to learn PHP!<br>"; echo "This ", "string ", "was ", "made ", "with multiple parameters."; ?>Y quiero mostrar como es, no quiero ejecutar el código. Por favor ayúdenme con esto y gracias de antemano.
Esto se ha cerrado como un duplicado de display-html-in-html y aunque, en principio, se aplica lo mismo aquí, hay algunas advertencias notables.
El intérprete de PHP está buscando la cadena mágica "<?php"; eso es lo que necesita codificar en el archivo fuente para evitar la ejecución de PHP. Y también cualquier ocurrencia de "?>" dentro de sus fragmentos. Puede aplicar las sustituciones documentadas, o simplemente romper la cadena:
print "<?" . "php";Sin embargo, aún necesita codificar otras cosas para evitar que se interprete como una directiva para el navegador.
PHP proporciona una función para hacer esto: htmlentities()
Esto reemplazará automáticamente cualquiera de las estructuras de control utilizadas en HTML.
Pero PHP va más allá: específicamente para representar el código fuente de PHP, puede usar las funciones de resaltado_archivo() y resaltado_cadena() . Estos harán los reemplazos de caracteres pero también aplicarán colores a la salida para que sea más fácil de visualizar.
(También hay bibliotecas de terceros, por ejemplo, GeSHi , que pueden hacer esto para PHP y otros lenguajes de programación).
Le recomendaría que considere usar el archivo de resaltado () para mantener el contenido de PHP que desea mostrar separado del código que desea ejecutar; puede resultar bastante confuso cuando solo está incrustando PHP en HTML o viceversa, a medida que agrega capas. va a ser confuso en cuanto a qué es el código y qué es el contenido.
Yo personalmente usaría highlight_string() :
<?php $mycode = <<<CODE <?php echo "<h2>PHP is Fun!</h2>"; echo "Hello world!<br>"; echo "I'm about to learn PHP!<br>"; echo "This ", "string ", "was ", "made ", "with multiple parameters."; ?> CODE; highlight_string($mycode); ?>Ejemplo en vivo: http://135.125.201.97/so0001.php (exactamente el código anterior)
Es una buena función, ya que colorea la sintaxis de PHP. Tenga en cuenta que highlight_string() repite el código de forma predeterminada. Si desea usar echo , debe establecer el segundo parámetro en verdadero:
echo highlight_string($mycode,true);Lea más aquí .
También verifique esta respuesta (sobre cómo usar <<< y qué hace).