数据库中用户录入的字符串为Mike's,PHP输出显示在网页中JS会报语法错误,提示Uncaught SyntaxError: Unexpected identifier,明显是多了一个'导致。
页面报错输出代码
<script>
var html = '<select><option>Mike's</option></select>';
</script>
<script>
var html = '<select><option>Mike's</option></select>';
</script>
在php内解决
str_replace("'", "/'", $str);
在js里解决,当然如果用户输入`的话,那也会报错。还是在php处理好
var html = `<select><option>Mike's</option></select>`;
2 回答1.6k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
2 回答1.1k 阅读
1 回答946 阅读
1 回答899 阅读
1 回答897 阅读
转义加反斜杠:
也可以用双引号:
双引号在单引号字符串中不用转义,单引号在双引号字符串中不用转义。
但要注意单双引号有些许不同,比如双引号中可以直接使用变量:
还有双引号中可以使用更多的转义字符,比如
\n
换行符等。用户输入不用处理,因为PHP内部已经处理过,其中的单引号是字符,不会和作为语言结构的单引号配对的。
如果你是要放在js代码中,可以使用
addslashes
函数处理,具体请自行查看文档。