0

我有一个隐藏的输入标签,我希望它的值在其中包含引号。我将如何转义引号以便我可以将它用于值?

HTML

<input type="hidden" name="edited_terms" 
value="<p>\"Please enter any additional terms and conditions here.\"</p>" />

PHP

$terms = mysql_real_escape_string($terms);
echo '<input type="hidden" name="edited_terms" value="'.$terms.'" />';

我想同时使用单引号和双引号,但是将其设置为value='<p>\"Please enter any additional terms and conditions here.\"</p>'不允许我使用单引号。

该功能htmlspecialchars让我完成此操作,但它会摆脱 HTML 标记。例如,<p>将转换为&lt;p&gt;. 我希望能够保留<p>标签并将引号转换为&quot;.

4

2 回答 2

0

试试这个丹尼尔:

<input name="edited_terms" 
value="<p>&quot;Please enter any additional terms and conditions here.&quot;</p>" />

更新PHP:

$terms ="<p>&quot;Please enter any additional terms and conditions here.&quot;</p>";           
echo '<input type="hidden" name="edited_terms" value="'.$terms.'" />';
于 2013-03-19T20:15:12.097 回答
0

首先,HTML 不是 MySQL。所以 MySQL 函数在这里无济于事。

二、htmlspecialchars在 HTML 属性值上使用:

$terms = htmlspecialchars($terms);
echo '<input type="hidden" name="edited_terms" value="'.$terms.'" />';

对于单引号中的属性值,请htmlspecialcharsENT_QUOTES标志一起使用。

于 2013-03-19T20:18:44.873 回答