Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I keep whitespace formatting using PHP/HTML?

Tags:

html

php

ascii

I'm parsing text from a file and storing it in a string. The problem is that some of the text in the original files contains ASCII art and whatnot that I would like to preserve. When I print out the string on the HTML page, even if it does have the same formatting and everything since it is in HTML, the spacing and line breaks are not preserved. What is the best way to print out the text in HTML exactly as it was in the original text file?
I would like to give an example, but unfortunately, I was not able to get it to display correctly in this markdown editor :P
Basically, I would like suggestions on how to display ASCII art in HTML.

like image 990
Steven Oxley Avatar asked Aug 31 '08 05:08

Steven Oxley


2 Answers

use the <pre> tag (pre formatted), that will use a mono spaced font (for your art) and keep all the white space

<pre> text goes here and here               and here and here            Some out here      ▄             ▄█▄ █▄       ▄  ▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀    ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀ ██  ██ ▀██▄▄ ▄█  ▀ ░▒ ░▒   ██  ██ ▄█▄ █▀ ██ █▓▄▀██  ▄ ▀█▌▓█    ▒▓ ▒▓   █▓▄▀██ ▓█ ▀▄  █▓ █▒  █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█   █▒  █▓ ▒█  ▓█▄ ▒     ▀▒           ▀  ▀ █▀       ▀▒  ▀  █▀  ░  </pre>   

You might have to convert any <'s to &lt; 's

like image 57
Grant Avatar answered Sep 30 '22 03:09

Grant


the <pre> and </pre> might not be ideal in textarea etc..

When wanting to preserve new line - \n and \n\r use nl2br as mentioned by UnkwnTech and Brad Mace.

When wanting to preserve spaces use str_replace:

str_replace(' ', '&nbsp;', $stringVariable);

When both use this:

$result = str_replace(' ', '&nbsp;', $stringVariable); $result = nl2br($result); 
like image 31
Igor L. Avatar answered Sep 30 '22 02:09

Igor L.