【发布时间】:2015-01-29 00:08:56
【问题描述】:
我的表单代码如下:
<form action="pdf.php" method="POST" id="pdfform">
<input type="hidden" name="htmlcontent" value="<?php echo $content ?>" >
<li><a href="javascript:void(0)" class="button back pdfsubmit">Download as PDF</a></li>
</form>
但是,我意识到隐藏字段也将内容打印到 HTML 页面,并且有一些额外的 " 和 > 不应该存在。
我认为可能是问题是因为表单的作用是将html数据发送到PHP脚本以将其转换为PDF,变量$content包含html代码,例如:<p>Test 3</p><p><img alt="Cancer" src="http://breakthroughs.cityofhope.org/wp-content/uploads/2013/02/lung-cancer.jpg" style="height:375px; width:500px" /></p>
这可能是问题的原因之一,html 也会在隐藏表单内的值末尾打印出额外的“>”。
有人能找出原因吗?
【问题讨论】:
-
您好,该文件位于 .php 中,并且我正在使用正确配置的网络服务器。我认为这与消毒有关。
-
用
&quot;替换$content中的任何"。 -
您是否尝试过使用
htmlentities($string,ENT_QUOTES)或htmlspecialchars($string,ENT_QUOTES)之类的方法在隐藏字段中打印 HTML 值? -
@developerwjk 因为生成的内容是动态的,无法手动替换"
-
有一个函数叫做
str_replace。 (不过拉斯克拉特提到的htmlentities或htmlspecialchars会更好)
标签: php html forms hidden-field