特殊字符行'不会显示在html表单的文本框中

时间:2010-08-20 06:16:22

标签: php html input

我想在文本框中显示预定义值,该值可能包含'等特殊字符,例如单引号阿米特的生日....当我显示字符串时,它只显示Amit并省略了另一个字符串。我使用htmlspecialchars()函数,因为我正在使用PHP,但它没有发生的结果仍然相同。有人请帮帮我。

2 个答案:

答案 0 :(得分:3)

从服务器端

以htmlspecialschars编码的html发送数据

<?php
   $new = htmlspecialchars("Amit's Birthday", ENT_QUOTES);
   echo $new; // Amit&#039;s Birthday;
?>

如果您在服务器端设置值属性,那么它将使用 &amp;编码字符串进行编码#0 3 9; 取代单引号,如果您在客户端使用ajax调用来获取数据,则相同。

输入输入字段的id,name或class属性,然后在加载函数的文档上或在输入字段填写所需数据时写入此代码。

   // < input class="decodeIt" type="text" value="Amit&#039;s Birthday" />    

    var decodedValue = $(".decodeIt").val().replace("&#039;", "'");
    $(".decodeIt").val(decodedValue );

答案 1 :(得分:0)

来自手册:http://php.net/htmlspecialchars

  仅当设置了ENT_QUOTES时,

'''(单引号)才变为'''。

因此要么用双引号而不是单引号来界定属性值,要么设置ENT_QUOTES(如上面链接的页面上的示例1所示)。