Javascript 试图从数据库附加HTML时未终止的字符串文字

Javascript 试图从数据库附加HTML时未终止的字符串文字,javascript,php,jquery,html,wysiwyg,Javascript,Php,Jquery,Html,Wysiwyg,我有一个页面来创建文章。我将由文章WYSIWYG编辑器生成的HTML标记存储到MySQL数据库中 在将html插入数据库之前,我的html将转换为html实体,如下所示: htmlspecialchars($this->input->post('card_content'), ENT_COMPAT, 'UTF-8', false) <ul><li>Where do you work? </li>&a

我有一个页面来创建文章。我将由文章WYSIWYG编辑器生成的HTML标记存储到MySQL数据库中

在将html插入数据库之前,我的html将转换为html实体,如下所示:

htmlspecialchars($this->input->post('card_content'), ENT_COMPAT, 'UTF-8', false)
<ul><li>Where do you work? </li><li>What do you do?  </li><li>What position do you have?</li></ul>
数据存储在数据库中的方式如下:

htmlspecialchars($this->input->post('card_content'), ENT_COMPAT, 'UTF-8', false)
<ul><li>Where do you work? </li><li>What do you do?  </li><li>What position do you have?</li></ul>
我还需要更新文章内容和标记。为此,我有一个“编辑文章”页面,其中我必须将文章标记显示回所见即所得编辑器中,该编辑器是一个Iframe,具有
designMode='on'

我使用以下代码将解码后的HTML追加回WYSIWYG Iframe:

function enableEditMode(){
    card_content.document.designMode = 'On';
    $('iframe[name=card_content]').contents().find('body').append("<?php echo addslashes(html_entity_decode($card->card_html)); ?>");
}
function enableEditMode(){
card_content.document.designMode='On';
$('iframe[name=card_content]')。contents().find('body')。append(“”);
}
问题

我得到这个错误:

SyntaxError:未终止的字符串文字

这是因为附加的HTML在许多行上

问题:


我有我所有的休息空间,所以我不知道为什么会有空白。。。我如何确保我的HTML只在一行中,没有白色的spcace?另外,是否有更好的方法将HTML附加到Iframe中

如果要将字符串从php输出到javascript,则应使用
json\u encode()
。请注意,您应该删除javascript中的引号,并且
json\u encode()
将引用字符串:

$('iframe[name=card_content]').contents().find('body').append(<?php echo json_encode(html_entity_decode($card->card_html)); ?>);
                                                              ^ no quotes here                      
$('iframe[name=card_content]').contents().find('body').append();
^这里没有引号

Do
您可以使用php函数(比如
str\u replace
)删除所有换行符。@JustOnUnderMillions如果您使用
json\u encode()
对字符串进行编码,您将得到一个用双引号括起来的字符串。@JustOnUnderMillions我错过了
html\u entity\u decode()
但对于其余部分,我认为这是OP需要的;php字符串正确地传递到javascript。好的,我使用了
json\u encode
,但我认为这不是最好的解决方案。我会隐藏内容并显示是否需要,而不使用
append()
。但是,让他用你的解决方案来完成;-)这篇经过编辑的文章很有魅力!非常感谢Jeroen,在我的研究中从未见过关于json_编码HTML的提示。非常方便的提示!