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

时间:2017-06-19 19:42:02

标签: 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'); ?>',
    msg1: '<?php echo $this->lang->line('home')['msg1']; ?>'
}

不幸的是,我还没设法用撇号处理正确的句子。我尝试过以下方法:

$lang['home']['msg1']  = "We couldn\'t proceed...";

所示:

We couldn\'t proceed...

$lang['home']['msg1']  = "We couldn't proceed...";

返回Javascript错误消息

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

1 个答案:

答案 0 :(得分:1)

通过使用没有转义的单引号,你破坏了两个表达式(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
}