【问题标题】:php echo html without quotes and whitespacephp echo html 不带引号和空格
【发布时间】:2012-05-29 21:40:20
【问题描述】:

我正在尝试回显自动生成的 html 表单元素,但页面始终将 html 代码显示为文本。当我通过 Chrome 检查输出时,它会显示生成的带有引号和空格的表单输入。这是我尝试过的结果:

这是生成整个表单的代码

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

问题是我无法将这些生成的表单元素显示在页面上,而只能显示它们的纯文本格式。

【问题讨论】:

  • 这里有什么问题?第一个回显 HTML,第二个回显编码的 HTML ...
  • 你能告诉我们这个输出之前的行吗?

标签: php html


【解决方案1】:

如果它显示您需要解码 html 实体的代码

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

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

但是

这不应该做。 questionHtml() 函数应该只将表单值转换为实体,而不是整个表单。

【讨论】:

    【解决方案2】:

    如果 $Question-&gt;questionHtml() 正在回显正确的 HTML,那么您只需使用 trim() 删除空格。

    【讨论】:

      猜你喜欢
      • 2020-12-15
      • 1970-01-01
      • 2013-08-08
      • 2017-03-31
      • 2016-05-21
      • 2012-11-15
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多