php中的javascript var太长


javascript var from php too long

在这段代码中,我将一个PHP var传递给javascrip,以在div元素中显示它。当字符串小于50个字符时,它工作得很好,但当它有点长时,它会崩溃。这是我的代码:

$sql3 = "SELECT * FROM $table2 WHERE id = '$newsId'";
$result3 = mysql_query($sql3);
$thisNews = mysql_fetch_array($result3);
?>
newsContent = "<? echo $thisNews['news']; ?>";
newsDiv  = "<div class='newsBox'>";
newsDiv += "<div class='newsTitle'><? echo $rowArray[$i]['title']; ?></div>";
newsDiv += "<div class='newsBody'>"+newsContent+"</div>";
newsDiv += "<div class='newsFoot'>autor: <? echo $thisNews['author']; ?> - <? echo $thisNews['site']; ?> - <? echo $thisNews['source']; ?></div>";
box.append(newsDiv);

更好的方法是newsContent = <?php echo json_encode($thisNews['news']); ?>;——它将负责对字符串中的任何特殊字符进行编码,比如引号,它将终止JS字符串并将您放入字符串剩余部分的代码上下文中,这不是一件好事。