PHP中如何转义带单引号'的字符串?
数据库中用户录入的字符串为Mike's,PHP输出显示在网页中JS会报语法错误,提示Uncaught SyntaxError: Unexpected identifier,明显是多了一个'导致。
页面报错输出代码
<script>
var html = '<select><option>Mike's</option></select>';
</script>
明显这里的引号和js冲突了,可以用双引号来临时解决,但是有用户也会录入双引号的信息,所以这里有没有什么好的方案可以彻底解决该问题呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
转义加反斜杠:
也可以用双引号:
双引号在单引号字符串中不用转义,单引号在双引号字符串中不用转义。
但要注意单双引号有些许不同,比如双引号中可以直接使用变量:
还有双引号中可以使用更多的转义字符,比如
\n
换行符等。用户输入不用处理,因为PHP内部已经处理过,其中的单引号是字符,不会和作为语言结构的单引号配对的。
如果你是要放在js代码中,可以使用
addslashes
函数处理,具体请自行查看文档。在php内解决
在js里解决,当然如果用户输入`的话,那也会报错。还是在php处理好