使用htmlspecialchars转换引号,并在PHP中保留HTML标记
我有一个隐藏的输入标记,我希望它的值中有引号。如何转义引号,以便将其用于值 HTML使用htmlspecialchars转换引号,并在PHP中保留HTML标记,php,html,quotes,double-quotes,htmlspecialchars,Php,Html,Quotes,Double Quotes,Htmlspecialchars,我有一个隐藏的输入标记,我希望它的值中有引号。如何转义引号,以便将其用于值 HTML PHP $terms=mysql\u real\u escape\u字符串($terms); 回声'; 我想同时使用单引号和双引号,但是将其设置为value='\“请在此处输入任何其他条款和条件。\”“不允许我使用单引号 函数htmlspecialchars让我们来完成这一点,但它将去掉HTML标记。例如,将转换为p。我希望能够保留标记,并将引号转换为“尝试以下方法: <input name="ed
PHP
$terms=mysql\u real\u escape\u字符串($terms);
回声';
我想同时使用单引号和双引号,但是将其设置为value='\“请在此处输入任何其他条款和条件。\”“
不允许我使用单引号
函数htmlspecialchars
让我们来完成这一点,但它将去掉HTML标记。例如,
将转换为p
。我希望能够保留
标记,并将引号转换为“
尝试以下方法:
<input name="edited_terms"
value="<p>"Please enter any additional terms and conditions here."</p>" />
更新PHP:
$terms ="<p>"Please enter any additional terms and conditions here."</p>";
echo '<input type="hidden" name="edited_terms" value="'.$terms.'" />';
$terms=“”请在此处输入任何其他条款和条件。“”;
回声';
首先,HTML不是MySQL。所以MySQL函数在这里没有帮助
第二,在HTML属性值上使用:
$terms = htmlspecialchars($terms);
echo '<input type="hidden" name="edited_terms" value="'.$terms.'" />';
$terms=htmlspecialchars($terms);
回声';
对于单引号中的属性值,请将
htmlspecialchars
与ENT\u quotes标志一起使用。您的问题不清楚,为什么需要这个?以及为什么在上一个示例中使用单配额时逃逸了双配额?value='\“请……
mysql\u real\u escape\u string()就像在cakephp或任何更好的php代码中必须使用的最后一个函数一样。@Akam我正在制作的网站需要这个函数。我跳过了双引号,因为它显示了我遇到的错误。在PHP中我该怎么做?@Daniel单击此处查看结果如果我使用htmlspecialchars
,它将
标记转换为我不想要的p
。如果不这样做,我将如何使用它。@Daniel结果值是相同的。
$terms ="<p>"Please enter any additional terms and conditions here."</p>";
echo '<input type="hidden" name="edited_terms" value="'.$terms.'" />';
$terms = htmlspecialchars($terms);
echo '<input type="hidden" name="edited_terms" value="'.$terms.'" />';