Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的转义撇号显示额外的反斜杠_Javascript_Codeigniter_Escaping - Fatal编程技术网

javascript中的转义撇号显示额外的反斜杠

javascript中的转义撇号显示额外的反斜杠,javascript,codeigniter,escaping,Javascript,Codeigniter,Escaping,我使用Codeigniter的语言文件来显示任何类型的消息,例如: $lang['home']['msg1'] = "We couldn\'t proceed..."; 我使用以下代码在Javascript(在我的页脚中)中调用这些变量: var Settings = { base_url: '<?php echo base_url(); ?>', hire_text: '<?php echo $this->lang->line('hire');

我使用Codeigniter的语言文件来显示任何类型的消息,例如:

$lang['home']['msg1']  = "We couldn\'t proceed...";
我使用以下代码在Javascript(在我的页脚中)中调用这些变量:

var Settings = {
    base_url: '<?php echo base_url(); ?>',
    hire_text: '<?php echo $this->lang->line('hire'); ?>',
    msg1: '<?php echo $this->lang->line('home')['msg1']; ?>'
}
显示:

We couldn\'t proceed...

返回Javascript错误消息


在阅读了多个问题/帖子后,我仍然无法找到正确的方法

您正在使用单引号打破这两个表达式(JS和PHP),而没有转义。可以在引号内转义,也可以使用单引号和双引号的组合

var Settings = {
    base_url: "<?php echo base_url(); ?>",
    hire_text: "<?php echo $this->lang->line('hire'); ?>",
    msg1: '<?php echo $this->lang->line(\'home\')[\'msg1\']; ?>'// should be working either way
}
var设置={
基本url:“”,
出租人文本:“,
msg1:“”//应该以任何方式工作
}

只是为了笑一下当你这样做时会发生什么…=“我们无法继续…”;Javascrip错误,因为我的源代码将变成
var Settings={msg1:“我们无法继续…”,
}只是为了好玩,请尝试
$lang['home']['msg1']='wecan\\\'t procedure页面中仍会显示一个反斜杠和您的建议。如果我将您的建议与双引号一起使用,则会得到JavaScript中值的JS SyntaxErrorUse双引号。通过在JS字符串和PHP数组键之间混合单引号,您打破了这里的一切。例如,
hire\u文本:“
等。
$lang['home']['msg1']  = "We couldn't proceed...";
var Settings = {
    base_url: "<?php echo base_url(); ?>",
    hire_text: "<?php echo $this->lang->line('hire'); ?>",
    msg1: '<?php echo $this->lang->line(\'home\')[\'msg1\']; ?>'// should be working either way
}