Estaba leyendo el manual de PHP y me encontré con el siguiente párrafo de texto:

Los avances de línea tienen poco significado en HTML, sin embargo, sigue siendo una buena idea hacer que su HTML se vea bien y limpio colocando avances de línea. Un avance de línea que sigue inmediatamente después de un cierre?> Será eliminado por PHP. Esto puede ser extremadamente útil cuando está colocando muchos bloques de PHP o incluye archivos que contienen PHP que no deben generar nada. Al mismo tiempo, puede resultar un poco confuso. Puede poner un espacio después del cierre?> Para forzar la salida de un espacio y un salto de línea, o puede poner un salto de línea explícito en el último eco / impresión desde su bloque PHP.

Tengo las siguientes preguntas relacionadas con el texto del párrafo anterior:

  1. ¿Qué significa exactamente "Saltos de línea" en HTML?
  2. ¿Cómo agregarlos al código HTML y al código PHP y hacerlos visibles en un navegador web? ¿Qué entidades / etiquetas / caracteres HTML se utilizan para lograr esto?
  3. ¿El significado de 'Line feed' es el mismo en el caso de HTML y PHP? Si no, ¿cuál es la diferencia de significado en ambos contextos?
  4. ¿Por qué el manual de PHP dice eso en la primera línea del párrafo? ¿Qué quiere decir el Manual de PHP con la siguiente oración?

"Los feeds de línea tienen poco significado en HTML"

  1. ¿Cómo puede ser útil eliminar un salto de línea que sigue inmediatamente después de una etiqueta de cierre?> Cuando alguien está colocando muchos bloques de PHP o incluye archivos que contienen PHP que se supone que no deben generar nada?

Por favor, alguien aclare mis dudas antes mencionadas dando una respuesta en un lenguaje simple, lúcido y fácil de entender. Si alguien pudiera acompañar la respuesta con ejemplos de código de trabajo adecuados, me sería de gran ayuda para comprender el concepto con mayor claridad.

Gracias.

2
PHPFan 13 nov. 2017 a las 09:52

2 respuestas

La mejor respuesta

¿Qué significa exactamente "Saltos de línea" en HTML?

Es un término informático general.

El carácter (0x0a en ASCII) que hace avanzar el papel una línea en un teletipo o impresora, o mueve el cursor a la siguiente línea en una pantalla.

- fuente: Wiktionary

Cómo agregarlos al código HTML

Presione la tecla enter en su teclado. Tenga en cuenta que (con un par de excepciones como <pre>) todos los espacios en blanco son intercambiables en HTML. Una nueva línea se tratará como un espacio.

así como código PHP

Lo mismo ocurre… o puede usar la secuencia de escape \n dentro de una cadena literal.

y hacer visible en un navegador web?

El material que citó habla de hacer que el código fuente se vea bien. Por lo general, no desea que los caracteres de avance de línea sean visibles en un navegador.

En su lugar, podría utilizar un elemento <pre>.

Fuera de los elementos <pre> (y la configuración de CSS que tienen por defecto), puede usar un espacio en lugar de una nueva línea para obtener el mismo efecto en HTML.

¿Qué entidades / etiquetas / caracteres HTML se utilizan para lograr esto?

&#10;

… Pero el consejo dado en la última oración del material que citó probablemente sea un mejor enfoque.

1
Quentin 13 nov. 2017 a las 11:17

'Líneas de alimentación' significa exactamente una 'Nueva línea' tanto en Html como en Php, solo que la sintaxis es diferente.

  1. En el caso de la etiqueta Html, puede utilizar la etiqueta <br> o <br/> para un feed de líneas. Básicamente, esta etiqueta muestra una nueva línea en la salida del bloque de atributos Html, mientras se ejecuta a través del navegador.

  2. Puede tomar el siguiente ejemplo para la etiqueta <br>:

<html> <body>

<p> To break lines<br>in a text,<br/>use the br element. </p>

</body> </html>

Salida:
Para dividir líneas
en un texto,
use el elemento br.

  1. En el caso de Php, puede usar '\n' para un avance de líneas.

  2. Si está utilizando una cadena en Php, en lugar de escribir,

echo "Nueva \ nLínea";

Puede usar la función nl2br () para obtener un salto de línea, como:

echo nl2br("New \nLine");

Salida:
Nuevo
Línea

1
Prosen 13 nov. 2017 a las 11:31