php - 为什么 htmlspecialchars 不转换输入值内的引号?

标签 php htmlspecialchars

我有以下代码:

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

哪里$row['nr_p_vac']正在测试' " / /n /t <>

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

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

但是输入的内容不应该被转换成像test &apos; '&quot;'这样的东西吗?等等?

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

最佳答案

你可以查看页面源代码,你会看到该值为

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

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

已经在这里回答了: How to properly escape html form input default values in php?

关于php - 为什么 htmlspecialchars 不转换输入值内的引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28717547/

相关文章:

PHP - 安全更改密码表单/方法

php - RSS 提要 : htmlspecialchars() vs. CDATA

php - 我缺少什么? SQL注入(inject)

PHP htmlentities 即使有参数也不能工作

mysql - Laravel 截断带有特殊字符的字符串

php - 如何检查 Carbon 日期对象是否在一天的开始?

php - 使用 PHP 和 cURL 复制 HTTP 请求

php - 带有确认框的 javascript 重定向 url

php - xampp 是否安装了针对 mysql 注入(inject)的保护

php - 从excel导入数据时去除特殊字符