inicio - php</ php
¿Cómo mantengo el formato de espacio en blanco usando PHP/HTML? (4)
Estoy analizando texto de un archivo y lo estoy almacenando en una cadena. El problema es que parte del texto de los archivos originales contiene ASCII art
y otras cosas que me gustaría conservar. Cuando imprimo la cadena en la HTML page
, incluso si tiene el mismo formato y todo, dado que está en HTML
, el espaciado y los saltos de línea no se conservan. ¿Cuál es la mejor manera de imprimir el texto en HTML
exactamente como estaba en el archivo de texto original?
Me gustaría dar un ejemplo, pero desafortunadamente no pude verlo correctamente en este editor de marcas: P
Básicamente, me gustaría recibir sugerencias sobre cómo mostrar ASCII art in HTML
.
use la etiqueta <pre> (pre formateada), que usará una fuente monoespaciada (para su arte) y mantendrá todo el espacio en blanco
<pre>
text goes here and here
and here and here Some out here
▄ ▄█▄ █▄ ▄
▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀ ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀
██ ██ ▀██▄▄ ▄█ ▀ ░▒ ░▒ ██ ██ ▄█▄ █▀ ██
█▓▄▀██ ▄ ▀█▌▓█ ▒▓ ▒▓ █▓▄▀██ ▓█ ▀▄ █▓
█▒ █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█ █▒ █▓ ▒█ ▓█▄ ▒
▀▒ ▀ ▀ █▀ ▀▒ ▀ █▀ ░
</pre>
Es posible que deba convertir cualquier <''s a & lt; es
Cuando imprime los datos, use nl2br()
para convertir /n
y /r/n
en <br>
el <pre>
y </pre>
pueden no ser ideales en textarea, etc.
Cuando desee conservar una nueva línea, /n
/n/r
use nl2br como lo mencionan UnkwnTech y Brad Mace.
Cuando desee conservar espacios, use str_replace :
str_replace('' '', '' '', $stringVariable);
Cuando ambos usan esto:
$result = str_replace('' '', '' '', $stringVariable);
$result = nl2br($result);
Para todos aquellos buscando preservar el texto recuperado de la base de datos, esto funcionó para mí, estableciendo CSS como lo siguiente,
pre {
white-space: pre-line;
text-align : left;
}
en html:
<pre >
<?php echo htmlentities($yourText ) ; ?>
</pre>