2011-05-10 3 views
2

일부 .txt 파일의 내용을 읽고 표시하기 위해 PHP 함수 file_get_contents을 사용하고 있습니다.file_get_contents [PHP]가 HTML로 처리되지 않게하려면 어떻게합니까?

파일 내용이 HTML 코드 인 경우 HTML로 처리하는 페이지 대신 문자열로 표시하려면 어떻게해야합니까?

내용이 <img> 태그가 포함 된 경우 파일 내용, 예를 들어, 일반 텍스트는하지만, 경우에 잘 작동
<?php 
$load_desc = file_get_contents(/url/of/my/file.txt); 
echo "<div>$load_desc</div>" 
?> 

, 이미지가 표시됩니다

나의 현재 코드는 다음과 같은 것입니다.

죄송합니다. 정말 쉽습니다. 나는 PHP로 시작하고있다.

+1

브라우저에서 결과를 보지 않으시겠습니까? – Gordon

답변

7

사용 htmlspecialchars는 :

<?php 
$load_desc = file_get_contents(/url/of/my/file.txt); 
echo "<div>" . htmlspecialchars($load_desc) . "</div>" 
?> 

이 자신의 엔티티 참조에 안전하지 않은 문자를 변환합니다

  • &&lt;
  • - &quot;
  • <-
  • "&amp;
  • >&gt;

에 이것은 당신이 안전하게 HTML로 주입 할 수 있고 태그가 일반 텍스트로 표시된다는 것을 의미합니다.

+0

정말 고마워요. 그게 완벽하게 작동합니다 – Turnip

+0

웬일인지 나는 그것을 대답하기 위해 또 다른 4 분을 기다려야한다 (?) – Turnip

3

소스를 HTML 이스케이프 처리하려면 htmlspecialchars으로 전화해야합니다. 거기에

0
<?php 
$load_desc = file_get_contents(/url/of/my/file.txt); 
header('Content-type: plain/text'); 
echo "<div>$load_desc</div>" 
?> 

이렇게하면 모든 콘텐츠가 일반 텍스트로 표시됩니다. 하지만 태그를 제거하거나 그대로 표시해야하는 경우 strip_tags 또는 htmlspecialchars을 사용할 수 있습니다.

+2

틀린 대답. 페이로드는 HTML 요소 자체 인 div 내에 있습니다. 일반/텍스트 디스플레이 사용 홀수 div 태그 –

관련 문제