我想在文本框中显示预定义值,该值可能包含'
等特殊字符,例如单引号阿米特的生日....当我显示字符串时,它只显示Amit并省略了另一个字符串。我使用htmlspecialchars()
函数,因为我正在使用PHP,但它没有发生的结果仍然相同。有人请帮帮我。
答案 0 :(得分:3)
以htmlspecialschars编码的html发送数据
<?php
$new = htmlspecialchars("Amit's Birthday", ENT_QUOTES);
echo $new; // Amit's Birthday;
?>
如果您在服务器端设置值属性,那么它将使用 &amp;编码字符串进行编码#0 3 9; 取代单引号,如果您在客户端使用ajax调用来获取数据,则相同。
输入输入字段的id,name或class属性,然后在加载函数的文档上或在输入字段填写所需数据时写入此代码。
// < input class="decodeIt" type="text" value="Amit's Birthday" />
var decodedValue = $(".decodeIt").val().replace("'", "'");
$(".decodeIt").val(decodedValue );
答案 1 :(得分:0)
来自手册:http://php.net/htmlspecialchars
仅当设置了ENT_QUOTES时,'''(单引号)才变为'''。
因此要么用双引号而不是单引号来界定属性值,要么设置ENT_QUOTES(如上面链接的页面上的示例1所示)。