jQuery撇号从php到输入字段

时间:2014-10-10 20:43:00

标签: jquery apostrophe

我正在获取包含blah ^ s字符的数据库信息(我用'^替换',所以我可以识别行中撇号的位置)。我正在检索并使用preg_replace将撇号放回字符串中。它一切正常,直到我尝试使用jquery更新输入文本字段。

$name = preg_replace('/(\^)/', ' ', '\'');
$name = "<input type='text' size='20' id='2' name='2' value='$name'>&nbsp;";

我用其他所有数据对JSON编码很好。

$json = array(
'name' => $name
);
echo json_encode($json);

这在使用jquery的控制台中返回“blah”。 而不是我的输入文本字段中的“blah's”,而不是我需要的......

有人有什么想法吗?

1 个答案:

答案 0 :(得分:1)

查看生成的HTML。您正在使用'来分隔属性值。所以你正在生成像

这样的东西
value='blah's'

如您所见,该值在h之后结束。

您必须使用'的HTML实体。您可以使用htmlentities

执行此操作
echo htmlentities($str, ENT_QUOTES);

htmlspecialchars

echo htmlspecialchars($str, ENT_QUOTES);