Я анализирую текст из файла и сохраняю его в виде строки. Проблема в том, что часть текста в исходных файлах содержит изображения ASCII art
и еще много чего, что я хотел бы сохранить. Когда я распечатываю строку на HTML page
, даже если она имеет одинаковое форматирование и все остальное, поскольку она находится в HTML
, интервалы и разрывы строк не сохраняются. Каков наилучший способ распечатать текст в HTML
точно так же, как это было в исходном текстовом файле?
Я хотел бы привести пример, но, к сожалению, я не смог заставить его правильно отображаться в этом редакторе уценки: P
В основном, я хотел бы получить предложения о том, как отображать ASCII art in HTML
.
Как сохранить форматирование пробелов с помощью PHP/HTML?
Ответ 1
использовать <pre> тег (предварительно отформатированный), который будет использовать шрифт с монофоном (для вашего искусства) и сохранить все пробелы
<pre>
text goes here and here
and here and here Some out here
▄ ▄█▄ █▄ ▄
▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀ ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀
██ ██ ▀██▄▄ ▄█ ▀ ░▒ ░▒ ██ ██ ▄█▄ █▀ ██
█▓▄▀██ ▄ ▀█▌▓█ ▒▓ ▒▓ █▓▄▀██ ▓█ ▀▄ █▓
█▒ █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█ █▒ █▓ ▒█ ▓█▄ ▒
▀▒ ▀ ▀ █▀ ▀▒ ▀ █▀ ░
</pre>
Возможно, вам придется преобразовать любую < к < "Ы
Ответ 2
<pre>
и </pre>
могут быть не идеальными в textarea и т.д.
Если вы хотите сохранить новую строку - \n
и \n\r
, используйте nl2br, как указано UnkwnTech и Brad Mace.
При желании сохранить пробелы используйте str_replace:
str_replace(' ', ' ', $stringVariable);
Когда оба используют это:
$result = str_replace(' ', ' ', $stringVariable);
$result = nl2br($result);
Ответ 3
Когда вы печатаете данные, используйте nl2br()
для преобразования \n
и \r\n
в <br>
Ответ 4
Для всех этих поисковых систем для сохранения текста, полученного из базы данных, это сработало для меня, задав CSS следующим образом:
pre {
white-space: pre-line;
text-align : left;
}
в html:
<pre >
<?php echo htmlentities($yourText ) ; ?>
</pre>