HOWTO · PHP

Cómo crear una nueva línea en PHP

Elige el salto de línea en PHP según el destino: `\n` para texto, `PHP_EOL` para finales de línea nativos y `<br>` para HTML.

En esta página

Para crear un salto de línea en PHP, elige la representación según dónde se leerá la salida. Usa \n dentro de una cadena entre comillas dobles para insertar un salto de línea en texto, y PHP_EOL cuando el texto deba usar la secuencia de final de línea propia de la plataforma actual. Para que el salto se vea en un navegador, genera HTML, por ejemplo, <br>; un salto de línea en el código fuente HTML por sí solo normalmente no produce un salto visible al renderizarlo. Estas opciones no son intercambiables: el navegador interpreta HTML, mientras que un terminal o un lector de archivos de texto procesa caracteres.

Elige el salto de línea según el formato de salida

Para mensajes de CLI, registros y archivos de texto sin formato, incluye un carácter de salto de línea en la cadena o usa PHP_EOL si el archivo debe seguir la convención de la plataforma. Para las respuestas HTML, usa marcado que el navegador pueda interpretar. Decide según quién consumirá la salida, no solo según el sistema operativo donde se ejecuta PHP. Si la salida puede leerse tanto como texto como HTML, genera un formato distinto para cada caso en vez de mezclar marcado y finales de línea de texto en una misma cadena.

Usa \n en una cadena de PHP

En una cadena de PHP entre comillas dobles, \n representa un salto de línea (line feed). Una cadena entre comillas simples no interpreta \n como un salto de línea: conserva la secuencia de barra invertida, de acuerdo con las reglas limitadas de escape de las comillas simples en PHP. Usa comillas dobles cuando quieras que PHP interprete esta secuencia de escape. Dos saltos de línea consecutivos dejan una línea en blanco entre las líneas de texto.

Ejecuta este ejemplo. El texto visible del ejemplo y de su salida se mantiene en inglés.

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

<?php
$message = "Hello, PHP!\nWelcome back.";
echo $message, "\n";
?>

Salida esperada:

Hello, PHP!
Welcome back.

Esto sirve para la salida de terminal y el contenido de texto. Al escribir en un archivo, los bytes de la cadena se escriben tal cual, así que elige la convención de finales de línea que espera el programa que leerá ese archivo.

Usa PHP_EOL para texto con finales de línea nativos de la plataforma

PHP_EOL contiene la secuencia de final de línea de la plataforma donde se ejecuta PHP. Puedes concatenarla entre líneas de texto, por ejemplo, "First" . PHP_EOL . "Second". Es útil para la salida de CLI y para archivos de texto destinados a ese entorno. No crea un salto visual en HTML: al renderizar un párrafo, el navegador puede reducir los espacios en blanco del código fuente. Además, un archivo destinado a un formato de intercambio específico puede requerir un final de línea fijo; en ese caso, usa los caracteres que exige el formato en vez de dar por hecho que corresponde usar los de la plataforma anfitriona.

Usa <br> para los saltos de línea en HTML

Al generar HTML, <br> es un elemento que introduce un salto de línea. Por ejemplo, PHP puede generar "First line<br>Second line", y un procesador de HTML mostrará el texto en líneas distintas. Por lo general, un carácter de salto de línea en el código fuente HTML se trata como espacio en blanco y no garantiza un salto visible. En cambio, si imprimes <br> en un terminal, aparecerá como marcado literal y no hará que el cursor pase a la línea siguiente. Escapa los valores que no sean de confianza antes de insertarlos en HTML; el elemento de salto de línea no protege el contenido que lo rodea.

Entiende \r\n y las líneas en blanco

\r\n consta de un retorno de carro seguido de un salto de línea (line feed). Es el final de línea convencional en muchos archivos de texto de Windows. En una cadena de PHP entre comillas dobles, ambas secuencias de escape producen esos dos caracteres de control. Usa esta secuencia cuando el formato receptor exija explícitamente CRLF; de lo contrario, PHP_EOL resulta práctico para texto con finales de línea nativos de la plataforma y \n es común en los formatos que especifican line feed. Para dejar una línea en blanco, añade otra secuencia completa de final de línea, como en "First\n\nSecond". El retorno de carro no es una instrucción de PHP para reiniciar un puntero de salida: es un carácter cuyo efecto visual depende del dispositivo de salida.

Errores comunes y comprobaciones rápidas

  • Si \n aparece literalmente, comprueba si la cadena usa comillas simples. Usa comillas dobles o construye el salto de línea de otra manera.
  • Si el navegador muestra el texto en una sola línea visual, comprueba el HTML renderizado. Usa <br> o CSS apropiado en lugar de depender de los espacios en blanco del código fuente.
  • Si <br> aparece en un terminal o en un archivo de texto sin formato, la salida se está consumiendo como texto. Usa \n o PHP_EOL en su lugar.
  • Si otro programa rechaza un archivo de texto, comprueba qué convención de finales de línea requiere. \n, \r\n y PHP_EOL pueden generar secuencias de bytes distintas.

Elige la representación según quién vaya a leer la salida: sintaxis de cadenas de PHP para los saltos de línea en texto, PHP_EOL para archivos de texto nativos de la plataforma, la secuencia indicada para un formato de archivo fijo y <br> para HTML que se mostrará en un navegador.