HTML에서 빠져나오기
HTML에서 빠져나오기 (Escaping from HTML)
개요
여는 태그와 닫는 태그 한 쌍 바깥에 있는 모든 것은 PHP 파서가 그냥 무시해요. 그래서 PHP 파일에는 서로 다른 내용이 섞여 들어갈 수 있죠. 이 덕분에 PHP를 HTML 문서 안에 끼워 넣을 수 있고, 예를 들어 템플릿을 만들 때 아주 유용해요.
PHP를 HTML에 끼워 넣기
PHP가 HTML 안에 어떻게 섞이는지, 먼저 예제부터 볼게요.
<p>This is going to be ignored by PHP and displayed by the browser.</p>
<?php echo 'While this is going to be parsed.'; ?>
<p>This will also be ignored by PHP and displayed by the browser.</p>
PHP 인터프리터가 ?> 닫는 태그를 만나면, 거기서부터 다음 여는 태그를 만날 때까지 마주치는 모든 것을 그대로 출력하기 시작해요. 딱 하나 예외가 있는데, 닫는 태그 바로 다음에 오는 줄바꿈(새 줄) 하나입니다. 이건 명령 구분(instruction separation) 문서에서 다뤄요.
늘 '단순히 출력하다'만 되는 건 아니에요. 조건문 중간에 있다면 얘기가 다르죠. 그 경우 인터프리터는 무엇을 건너뛸지 결정하기 전에 먼저 조건의 결과를 판단해요. 다음 예제를 보면서 확인해 볼게요.
조건문을 이용한 심화 사용
<?php if (true): ?>
This will show if the expression is true.
<?php else: ?>
Otherwise this will show.
<?php endif; ?>
여기서 PHP는 조건이 맞지 않는 블록을 PHP 여는/닫는 태그 바깥에 있더라도 건너뛰어요. 태그 바깥에 있어도, 인터프리터가 만족되지 않은 조건에 포함된 블록은 통째로 뛰어넘기 때문이에요.
큰 텍스트 블록을 출력할 때는
큰 텍스트 블록을 출력해야 한다면, PHP 파싱 모드에서 빠져나가는 편이 그 텍스트를 전부 echo나 print로 보내는 것보다 일반적으로 더 효율적이에요.
참고 (Note)
[!NOTE] PHP를 XML이나 XHTML 안에 끼워 넣을 때는 표준을 지키기 위해 일반적인 PHP 태그
<?php ?>를 반드시 사용해야 해요.