为什么不';t htmlspecialchar转换输入值内的引号


Why doesn't htmlspecialchars convert quotes inside an input value?

我有以下代码:

<input type="text" name="nr_p_vac" value="<?php echo htmlspecialchars($row['nr_p_vac']); ?>">

其中CCD_ 1是测试CCD_。

当我在输入中不使用htmlspecialchars时,只有test '(当然,因为"没有转义)。

当我使用htmlspecialchars函数时,输入具有正确的值' " / /n /t <>(因为现在'"已正确转义)。

但是输入的内容不应该转换成$row['nr_p_vac']0之类的东西吗

在这种情况下可以使用htmlspecialchars吗

您可以查看页面源代码,您会发现该值为

' &quot; / /n /t &lt;&gt;

在的情况下使用它是可以的

已在此处回答:如何正确地转义php中的html表单输入默认值?