双引号未显示在编辑页面中

时间:2013-11-15 07:32:24

标签: php html

我的html中有这段代码。该字段可能包含特殊字符。

<tr id="p2" >
      <td><strong>Tussenvoegsel:</strong></td>
      <td><input type="text" name="familyname" width="120"></td>
    </tr>

在后端我正确获取字段的值,特殊字符(双引号也)也正确插入到表的相应列中。

$familyname=JRequest::getVar('familyname');
$familyname=str_replace("\'","'","$familyname");
$familyname=str_replace("'","\'","$familyname");

我的问题是,当我进入表单的编辑页面时,所有特殊字符都在字段中正确显示但双重报价根本没有显示(注意:在数据库中列也是双引号)。我是什么我不见了?

1 个答案:

答案 0 :(得分:0)

问题在于:

<input type="text" value="my value "with" quotes">

在属性值的双引号内生成值的双引号的无效HTML原因。 (正如您在上面突出显示的那样。)

所以你必须转义input标签的双引号。使用htmlspecialchars()

textareas中的双引号没有问题,因为内容位于开始标记和结束标记之间而不是属性中。

<textarea>Here are "double quotes" okay and have not to be escaped</textarea>