2010-08-20 84 views
2

我想在可能包含特殊字符(如')的文本框中显示预定义值,例如单引号(例如,阿米特的生日....当我显示字符串时,它只显示阿米特,并省略了更多的字符串。我使用htmlspecialchars()函数,因为我使用的是PHP,但其未发生的结果仍然相同。有人请帮助我。特殊字符行'不显示在HTML表格的文本框中

+0

使用ENT_QUOTES作为htmlspecialchars的第二参数。如果输出是编码字符串,则用javascript替换。 – 2010-08-20 07:20:31

回答

0

从手册:http://php.net/htmlspecialchars

''”(单引号)变为 ''' 仅当ENT_QUOTES被设置。

因此,要么用双引号而不是单引号分隔属性值,要么设置ENT_QUOTES(按照上面链接页面上的示例1)。

3

从服务器侧发送具有htmlspecialschars编码数据为html

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

如果在服务器侧的设定值属性那么它将被编码的字符串与&#0 3 9;单引号的位置,如果你在客户端使用ajax调用来获取数据,

将输入字段的ID,名称或类属性,然后将此代码写入文档的加载函数或输入字段填充所需的数据。

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

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