PHP/HTML을 사용하여 공백 형식을 어떻게 유지합니까?
문제
파일의 텍스트를 구문 분석하여 문자열에 저장하고 있습니다.문제는 원본 파일의 일부 텍스트에 다음이 포함되어 있다는 것입니다. ASCII art
그리고 내가 보존하고 싶은 것은 아무것도 없습니다.문자열을 인쇄할 때 HTML page
, 형식이 동일하고 모든 것이 동일하더라도 HTML
, 간격과 줄 바꿈은 유지되지 않습니다.텍스트를 인쇄하는 가장 좋은 방법은 무엇입니까? HTML
원본 텍스트 파일과 정확히 똑같나요?
예시를 들려드리고 싶은데 아쉽게도 이 마크다운 편집기에서는 제대로 표시되지 못했습니다. :P
기본적으로 표시 방법에 대한 제안을 받고 싶습니다. ASCII art in HTML
.
해결책
고정 간격 글꼴(아트용)을 사용하고 모든 공백을 유지하는 <pre> 태그(미리 형식 지정)를 사용하세요.
<pre>
text goes here and here
and here and here Some out here
▄ ▄█▄ █▄ ▄
▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀ ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀
██ ██ ▀██▄▄ ▄█ ▀ ░▒ ░▒ ██ ██ ▄█▄ █▀ ██
█▓▄▀██ ▄ ▀█▌▓█ ▒▓ ▒▓ █▓▄▀██ ▓█ ▀▄ █▓
█▒ █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█ █▒ █▓ ▒█ ▓█▄ ▒
▀▒ ▀ ▀ █▀ ▀▒ ▀ █▀ ░
</pre>
<를 <로 변환해야 할 수도 있습니다.'에스
다른 팁
그만큼 <pre>
그리고 </pre>
텍스트 영역 등에서는 이상적이지 않을 수 있습니다.
새로운 라인을 유지하고 싶을 때 - \n
그리고 \n\r
사용 nl2br UnkwnTech와 Brad Mace가 언급한 바와 같습니다.
공간을 보존하고 싶을 때 사용하세요 str_replace:
str_replace(' ', ' ', $stringVariable);
둘 다 이것을 사용하는 경우:
$result = str_replace(' ', ' ', $stringVariable);
$result = nl2br($result);
데이터를 인쇄할 때 사용 nl2br()
변환하다 \n
그리고 \r\n
~ 안으로 <br>
데이터베이스에서 가져온 텍스트를 보존하려는 모든 검색에 대해 이것은 CSS를 다음과 같이 설정하여 나에게 효과적이었습니다.
pre {
white-space: pre-line;
text-align : left;
}
HTML에서 :
<pre >
<?php echo htmlentities($yourText ) ; ?>
</pre>