但它将引号输出为 " 或 ' 这不-6ren">
gpt4 book ai didi

php - 在文本输入的值属性中使用 htmlspecialchars

转载 作者:行者123 更新时间:2023-12-04 23:27:57 25 4
gpt4 key购买 nike

我的问题类似于this问题,但我没有使用代码点火器。我将从数据库获得的变量回显到文本输入的值属性中。变量可能包含 ' 或 "或任何其他特殊字符。

我试过:

<input type="text" name="myTextInput" value="<?= htmlspecialchars($dbValue, ENT_QUOTES); ?>" />

但它将引号输出为 "' 这不是我想要的。我希望文本输入实际包含用户输入的引号。

我应该使用 php 函数还是 javascript 函数来转义字符串?如果我不转义它,我会收到一个 javascript 错误,因为 $dbValue 字符串中的引号与值属性引号相互作用。

最佳答案

但这正是您想要的。例如

如果你插入的数据是

Davy "Dead Pirate" Jones

然后你将它按字面意思插入到输入字段中,你最终会得到

<input type="text" name="..." value="Davy "Dead Pirate" Jones" />

解释如下:

<input> field with attributes:
text -> 'text'
name -> '...'
value -> ' ' (a single space)
Dead ->
Pirate ->
" ? danging quote
Jones ->
" ? -> another dangling quote

通过比较,在执行 html_entities 之后,您将拥有

 Davy &quot;Dead Pirate&quot; Jones

并且可以插入到 <input> 中字段没有问题。

如果输入字段的值包含文字 &quot;这是用户可见的,那么您将进行一些双重编码。

关于php - 在文本输入的值属性中使用 htmlspecialchars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11458779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com