Frage

Ich analysiere Text aus einer Datei und speichere ihn in einer Zeichenfolge.Das Problem besteht darin, dass ein Teil des Textes in den Originaldateien enthalten ist ASCII art und so weiter, was ich gerne bewahren möchte.Wenn ich die Zeichenfolge auf dem ausdrucke HTML page, auch wenn es die gleiche Formatierung und alles hat, seit es drin ist HTML, werden die Abstände und Zeilenumbrüche nicht beibehalten.Wie kann ich den Text am besten ausdrucken? HTML genau so, wie es in der Originaltextdatei war?
Ich möchte ein Beispiel geben, aber leider konnte ich es in diesem Markdown-Editor nicht korrekt anzeigen :P
Grundsätzlich würde ich mich über Anregungen zur Darstellung freuen ASCII art in HTML.

War es hilfreich?

Lösung

Verwenden Sie das Tag <pre> (vorformatiert), das eine monoproportionale Schriftart (für Ihre Grafik) verwendet und den gesamten Leerraum beibehält

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

</pre>  

Möglicherweise müssen Sie alle < in < umwandeln'S

Andere Tipps

Die <pre> Und </pre> ist im Textbereich usw. möglicherweise nicht ideal.

Wenn Sie eine neue Linie beibehalten möchten - \n Und \n\r verwenden nl2br wie von UnkwnTech und Brad Mace erwähnt.

Wenn Sie Räume erhalten möchten, verwenden Sie str_replace:

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

Wenn beide dies verwenden:

$result = str_replace(' ', '&nbsp;', $stringVariable);
$result = nl2br($result);

Beim Ausdrucken der Datennutzung nl2br() umwandeln \n Und \r\n hinein <br>

Für alle, die nach einer Beibehaltung des aus der Datenbank geholten Textes suchen, hat dies bei mir funktioniert, indem ich CSS wie folgt eingestellt habe:

pre {
     white-space: pre-line;
     text-align : left;
  }

im HTML:

<pre >
     <?php echo htmlentities($yourText ) ; ?>
</pre>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top