将多行PHP字符串插入Javascript变量

将多行PHP字符串插入Javascript变量,javascript,php,jquery,ace-editor,Javascript,Php,Jquery,Ace Editor,我的问题 我的问题是如何将php中的HTML正确解析为javascript对象内部的变量(在本例中是ace编辑器的值变量) 我的问题 我有一个用于HTML和CSS的文本区域,HTML从数据库中检索出来,需要插入到croppie的一个字段中,我目前正在使用PHP的功能将其放入变量中,但它似乎仍然逃避值 我的代码 <?php $css = ($modify) ? trim($template->style()) : ""; $html = ($modi

我的问题
我的问题是如何将php中的HTML正确解析为javascript对象内部的变量(在本例中是ace编辑器的值变量)

我的问题
我有一个用于HTML和CSS的文本区域,HTML从数据库中检索出来,需要插入到croppie的一个字段中,我目前正在使用PHP的功能将其放入变量中,但它似乎仍然逃避值

我的代码

<?php

        $css = ($modify) ? trim($template->style()) : "";
        $html = ($modify) ? trim( $template->html() ) : "";

        $html = json_encode($html);
        $css = json_encode($css);


    ?>
YUI().use(
        'aui-ace-editor',
        function(Y) {
            var editorhtml = new Y.AceEditor({
                boundingBox: '#editor-html',
                height: '400',
                mode: 'html',
                value: '<?php echo substr( $html, 1, -1 ); ?>',
                width: '100%',
                showPrintMargin: false
            }).render();

            var editorcss = new Y.AceEditor({
                boundingBox: '#editor-css',
                height: '400',
                mode: 'css',
                value: '<?php echo substr( $css, 1, -1 ); ?>',
                width: '100%',
                showPrintMargin: false
            }).render();
        }
    );

YUI()使用(
“aui ace编辑器”,
功能(Y){
var editorhtml=new Y.aceditor({
边框:“#编辑器html”,
高度:'400',
模式:“html”,
值:“”,
宽度:“100%”,
showPrintMargin:错误
}).render();
var editorcss=新的Y.aceditor({
边界框:“#编辑器css”,
高度:'400',
模式:“css”,
值:“”,
宽度:“100%”,
showPrintMargin:错误
}).render();
}
);
发生了什么
当我使用它,并打开一个可以管理的特定模板时,我将无法看到textarea的(因为ace编辑器无法加载),我会收到与第666行相关的随机错误,该行正是HTML存储的行。我确实正确地清理了json_encode中的输出。。对吧?


在这个屏幕截图中,您可以看到插入的HTML/css。但是问题发生在HTML所在的第666行。

所以我的问题是..

为什么它不能正确地将HTML解析到对象中?我是没有正确地消毒,还是遗漏了什么

您的问题是因为您的
$html
字符串包含单引号,请尝试转义它们或使用双引号

通过将它创建的双引号更改为单引号,您正在破坏json_encode的输出

为脚本标记添加值时,最好直接调用json_encode:

value: <?php echo json_encode($html); ?>,
值:,

您的问题是因为您的
$html
字符串包含单引号,请尝试转义它们或使用双引号。非常感谢您,如果您愿意将此作为答案发布,我将接受正确的答案。