html breaks $.parse.JSON


html breaks $.parse.JSON

所以在我的网站上,我使用了一个TinyMCE窗口。在当前的方式中,PHP从数据库中获取条目,将其解码为JSON。然后页面内的javascript会解析它。然而,如果有一个style='color:#fff'或类似的东西在那里,javascript不能解析JSON。此外,空格或感叹号也会打断它。我不想用这么易碎的东西。还有其他解决办法吗?

Javascript

$.ajax({
    type: "POST",
    url: "Including/php/fetcher.php",
    data: { identifier: identifier, page: page }
}).done(function( msg ) {
    var data = $.parseJSON(msg);
    var text = data["text"];
    tinyMCE.activeEditor.setContent(texten);
};

fetcher.php

$conn = mysql_connect($row['ipdb'],$row['usernamedb'], $row['wwdb']) or die("err");
$db = mysql_select_db($row['usernamedb']) or die("err");

$identifier = $_POST['identifier'];
$page = $_POST['page'];
$qry = "SELECT text FROM ".$page." WHERE identifier='$identifier'";
$result = mysql_query($qry) or die("An error occurred ".mysql_error());
$obj = mysql_fetch_object($result);
$text = $obj->text;
echo '{ "text" : "' . $text . '"}';

你可以使用

echo json_encode( array("text" => $text, "variable2" => $value2) );

确保它是有效的JSON并正确转义,这样它就不会被引号,空格等打断