2012-05-29 6 views
0

자동 생성 된 HTML 양식 요소를 반향하려고하지만 페이지에 항상 HTML 코드가 텍스트로 표시됩니다. Chrome을 통해 출력물을 확인할 때 따옴표와 공백이 포함 된 양식 입력이 표시됩니다. 여기에 내가 시도 및 결과 것입니다 :PHP 따옴표 및 공백없이 에코 html

여기

입니다 코드는 전체 양식을

<form action="<?php echo url_for('/survey/submit?id='.$Survey->getId()) ?>" method="post"> 
    <ul> 
    <?php foreach($Questions as $Question): ?> 
     <li><?php echo $Question->questionHtml() ?></li> 
    <?php endforeach; ?> 
    </ul> 
</form> 

를 생성하고 여기에 샘플 결과입니다

"<li> 
           <input class="survey" size="40" type="text" name="Sample Survey[input_1]" id="Sample_Survey_input_1" />    </li>" 

나는 또한를 htmlentities를 시도했다.

echo htmlentities($Question->questionHtml()) 
" 
           &lt;input class=&quot;survey&quot; size=&quot;40&quot; type=&quot;text&quot; name=&quot;Sample Survey[input_1]&quot; id=&quot;Sample_Survey_input_1&quot; /&gt;    " 

문제는 내가이 페이지에 표시 생성 된 폼 요소지만, 그 중 일반 텍스트 형식을 가져올 수 없습니다입니다.

+0

여기에 문제가 있습니까? 첫 번째는 HTML을 에코하고, 두 번째는 HTML을 인코딩합니다 ... – Ansari

+3

이 출력 앞에 나오는 줄을 보여줄 수 있습니까? – Sampson

답변

1

의 당신이 할 필요가 없습니다 html로 엔티티

http://www.php.net/manual/en/function.html-entity-decode.php

echo html_entity_decode($Question->questionHtml()); 

하지만

를 해독하는 데 필요한 코드를 표시합니다. questionHtml() 함수는 양식 값을 전체 양식이 아닌 객체로만 변환해야합니다.

0

$Question->questionHtml()이 올바른 HTML을 반향 출력하는 경우 trim()을 사용하면 공백을 제거하기 만하면됩니다.