php
  • html
  • 2012-05-29 40 views 0 likes 
    0

    我試圖回顯自動生成的html表單元素,但頁面始終顯示html代碼爲文本。當我通過Chrome檢查輸出時,它顯示帶有引號和空格的生成表單輸入。下面是我曾嘗試和結果:php echo html without quotes and whitespace

    這裏是代碼生成整個表單

    <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>" 
    

    我試過ヶ輛也。

    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實體

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

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

    這不應該做的代碼。 questionHtml()函數只應將表單值轉換爲實體,而不是整個表單。

    0

    如果$Question->questionHtml()回顯正確的HTML,那麼您只需要使用trim()刪除空格。

    相關問題