2011-05-01 4 views
1

나는 다음과 같은 출력을하고 싶지 :몇 줄에 걸쳐 에코 (echo) 변수가 있습니까?

echo <<<END 
$monkey 
END; 

출력이 '$ 원숭이'될 경우 (즉, END까지의 모든 텍스트는 일반 텍스트로 취급, 그리고 구문 분석)

내가 원하는 끝까지 텍스트를 이스케이프하거나 수정하지 마십시오. 이 가능합니까?

이상적으로 나는 PHP 5.3에서이

echo ' 
loads of lines here 
'; 
+1

문자열 안에 개행 문자를 포함 할 수 있다는 것을 알고 있으므로 두 번째 코드 스 니펫이 작동합니까? –

+0

당신이 요청한 것이 아니고'print file_get_contents ("loads_of_lines.txt")'가 또 다른 대안 일 수 있으며, 어떤 설정에서는 유지 보수가 더 쉬울 수도 있습니다. – mario

+0

Oli Charlesworth가 말했습니다. http://codepad.org/nbxd9oKk –

답변

3

뭔가를하고 싶어, 당신은 nowdoc 사용할 수 있습니다

$var = <<<'END' 
$monkey 
END; 

을 그렇지 않으면, 당신은 것입니다 항상 뭔가 (모든 이스케이프 코드와 달러를 탈출 걱정 heredoc에 서명하고, 큰 따옴표와 역 슬래시에 더한 큰 따옴표와 작은 따옴표로 묶인 문자열에있는 단일 코드).

1

heredoc 또는 nowdoc이더라도 표시하려는 텍스트에 END; 문자가 있으면 문제가 계속 발생합니다. 유일한 확실한 방법은 리터럴 텍스트를 별도의 파일에 넣고 변수 (예 : file_get_contents)로 읽어 들이고 해당 변수를 반향 출력하는 것입니다.

+0

식별자는 무엇이든 상관 없으므로 실제 문제는 아닙니다. 심지어 어디서나 나타날 가능성이 거의없는 긴 임의의 문자열을 지정할 수도 있습니다. – Artefacto

+0

@Artefacto : 나는 그것을 깨닫는다. –

+0

@Downvoter : 왜? –