我在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错误消息

阅读多个问题/帖子后,我仍然不知道正确的方法

最佳答案

通过使用不带转义的单引号来破坏两个表达式(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
}

10-04 15:43