PHP:将表单文本提交到隐藏的输入字段以便再次提交

时间:2016-10-19 14:08:08

标签: php html forms escaping

我正在创建一个HTML表单(使用Swift Mailer发送纯文本电子邮件但是现在并不重要),使用PHP服务器端,我希望在其中显示用户'文本输入,以便在实际发送电子邮件之前最终确认。

我使用nl2br(htmlspecialchars())安全地显示用户的表单字段输入,然后需要将该输入输出到<input type="hidden" ../>表单字段中,以便再次提交以实际创建电子邮件。< / p>

电子邮件正文显然可以包含各种可能有问题的字符,例如单引号和双引号,&符号,小于和大于符号。

在我的输入字段的上下文中,我是否正确地认为我的唯一(?)问题是确保表单引用value=".."(我通常使用双引号)和输入字符串中的任何引号字符价值不会相互冲突?是否存在与htmlspecialchars类似的PHP函数,它会根据需要转义引号?我不想将任何内容转换为HTML实体,因为我将发送的电子邮件将是纯文本。

2 个答案:

答案 0 :(得分:0)

您必须使用String addslashes( $str ) http://php.net/manual/fr/function.addslashes.php

功能

答案 1 :(得分:0)

在进一步阅读PHP手册后,看起来好像我可以使用htmlspecialchars($text, ENT_QUOTES)安全地为表单字段编码我的文本,然后使用(&#34;相对&#34;新的相应反向)函数)htmlspecialchars_decode($text, ENT_QUOTES)在创建纯文本电子邮件时将HTML实体安全地再次转换回普通字符。