php/js 工具或函数,以防止从 php 打印到 javascript 时出现“意外非法”


php/js tool or function to prevent getting "Unexpected ILLEGAL" when printing from php into javascript

我已经检查了有关此错误的许多其他问题和解决方案,但是错误仍然存在,我知道可能有一个字符列表我不能包含在javascript字符串中。在执行此操作之前,我想获取列表并遍历我的 php 数组以转义这些字符:

var learnerUpdatedInfo = '<?php echo implode("#", array_keys($record)) . "%%" . implode("{[]}", $record); ?>';
if(opener != null){
opener.document.form1.returnValue.value=learnerUpdatedInfo;
}

但我认为 php 或 js/jquery 可能有一个函数可以为你做这件事。有没有这样的功能?谢谢!

与其手动构造自己的格式,不如使用 JSON:

var learnerString = <?php
    echo json_encode(array("s"=>json_encode($record))); ?>.s;
if(opener != null){
    opener.document.form1.returnValue.value = learnerString;
}

修改 returnValue 的使用者以接受 JSON。例如,在 php 中,您将开始使用 json_decode .