双引号在编辑页面中不分散


double quotes not dispalying in the edit page

我的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");

我的问题是当我转到表单的编辑页面时,所有特殊字符都在字段中正确显示,但双引号根本没有显示(注意:在数据库中,该列也作为双引号)。我错过了什么?

问题是像这样:

<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>