inicio fin etiqueta codigo bloque php string-interpolation

fin - PHP-¿Cómo crear un personaje de nueva línea?



php</ php (13)

En PHP estoy tratando de crear un carácter de nueva línea:

echo $clientid; echo '' ''; echo $lastname; echo '' ''; echo ''/r/n'';

Luego abro el archivo creado en el Bloc de notas y escribe la nueva línea literalmente:

1 John Doe / r / n 1 John Doe / r / n 1 John Doe / r / n

He intentado muchas variaciones de la /r/n , pero ninguna funciona. ¿Por qué la nueva línea no se está convirtiendo en una nueva línea?


Deberías usar esto:

"/n"

También es posible que desee echar un vistazo a PHP EOL .


El comando "echo" en PHP envía la salida al navegador como html en bruto, por lo que incluso si entre comillas dobles el navegador no lo analizará en dos líneas porque un carácter de nueva línea en HTML no significa nada. Es por eso que necesitas usar:

echo [output text]."<br>";

cuando se usa "echo", o en su lugar usa fwrite ...

fwrite([output text]."/n");

Esto generará una nueva línea HTML en lugar de "/ n".


En realidad, /r/n es para el lado html de la salida. Con esos caracteres, puedes crear una nueva línea en el código html para que sea más legible:

echo "<html>First line /r/n Second line</html>";

saldrá:

<html>First line Second line</html>

Que viendo la página será:

First line Second line

Si realmente quiso decir esto, solo tiene que corregir la comilla simple con la "" cita:

echo "/r/n";

De lo contrario, si quiere dividir el texto, en nuestro ejemplo ''Primera línea'' y ''Segunda línea'' tiene que usar el código html: <br /> :

First line<br />Second line

que dará salida:

First line Second line

También sería más legible si reemplaza el script completo con:

echo "$clientid $lastname /r/n";


Las cadenas entre comillas dobles "" interpolan, lo que significa que convierten los caracteres escapados en caracteres imprimibles.

Las cadenas entre comillas simples son literales, lo que significa que se tratan exactamente como se escriben los caracteres.

Puedes tener ambos en la misma línea:

echo ''$clientid $lastname '' . "/r/n"; echo "$clientid $lastname /r/n";

salidas:

$clientid $lastname 1 John Doe


Para cualquier declaración de eco, siempre uso <br> entre comillas dobles.


Para el final de la línea independiente de la plataforma, puede usar la constante PHP_EOL predefinida , como en:

echo $clientid, '' '', $lastname, PHP_EOL;


Por alguna razón, todas las publicaciones que preguntan sobre escapes de nueva línea en PHP no mencionan el caso de que simplemente insertando una nueva línea en cadenas con comillas simples hará exactamente lo que piensa:

ex 1.

echo ''foo/nbar'';

El ejemplo 1 claramente no imprime el resultado deseado, sin embargo, si bien es cierto que no puede escapar de una nueva línea entre comillas simples, puede tener una:

ex 2.

echo ''foo bar'';

El ejemplo 2 tiene exactamente el comportamiento deseado. Desafortunadamente, la nueva línea que se inserta depende del sistema operativo. Por lo general, esto no es un problema, ya que los navegadores / servidores web interpretarán correctamente la nueva línea, ya sea en / r, / r / n o / n.

Obviamente, esta solución no es ideal si planea distribuir el archivo a través de otros medios, un navegador web y varios sistemas operativos. En ese caso deberías ver una de las otras respuestas.

nota: utilizando un editor de texto rico en características, debería poder insertar una nueva línea como un carácter (es) binario (s) que representa una nueva línea en un sistema operativo diferente al que edita el archivo. Si todo lo demás falla, simplemente usar un editor hexadecimal para insertar el carácter binario ascii sería suficiente.


Solo las cadenas entre comillas dobles interpretan las secuencias de escape /r y /n como ''0x0D'' y ''0x0A'' respectivamente, por lo que desea:

"/r/n"

Por otro lado, las cadenas con comillas simples solo conocen las secuencias de escape // y /' .

Entonces, a menos que concatene la cadena entre comillas simples con un salto de línea generado en otra parte (por ejemplo, usando la cadena entre comillas "/r/n" o usando la función chr(0x0D).chr(0x0A) ), la única otra manera de tener una línea romper dentro de una sola cadena entre comillas es literalmente escribirlo con su editor:

$s = ''some text before the line break some text after'';

Asegúrese de verificar su editor para la configuración de salto de línea si necesita alguna secuencia de caracteres específica ( /r/n por ejemplo).


También he probado esta combinación tanto entre comillas simples como entre comillas dobles. Pero ninguno ha funcionado. En lugar de usar /n mejor uso <br/> en las comillas dobles. Me gusta esto..

$variable = "and"; echo "part 1 $variable part 2<br/>"; echo "part 1 ".$variable." part 2";


Use chr (13) para el retorno de carro y chr (10) para la nueva línea

echo $clientid; echo '' ''; echo $lastname; echo '' ''; echo chr (13). chr (10);


Use la constante PHP_EOL para obtener el carácter correcto sin importar la plataforma.

http://us3.php.net/manual/en/reserved.constants.php

Un ejemplo de uso simple:

<?php $data = ''First line'' . PHP_EOL . ''Second line'' . PHP_EOL . ''Third line''; file_put_contents("filename.txt", $data); ?>


w3school ofrece de esta manera:

echo nl2br("One line./n Another line.");

mediante el uso de esta función, puede hacerlo. Probé otras formas que dije anteriormente, pero no me ayudarán.


Use el PHP nl2br para obtener las nuevas líneas en una cadena de texto.

$ text = "Manu es un buen chico. (Ingrese) Puede codificar bien.

echo nl2br ($ texto);

Resultado.

Manu es un buen chico.

Él puede codificar bien.