• 欢迎来到本博客,希望可以y一起学习与分享

js serialize()传值给php使用parse_str()处理后出现amp;的问题

PHP benz 4年前 (2018-01-18) 150次浏览 0个评论 扫描二维码
文章目录[隐藏]

一、问题来源

使用serialize()组织form表单数据,得到的数据形式是:id=1&name=”lishi”

再来看php

二、解决方法

parse_str() 函数

定义和用法
parse_str() 函数把查询字符串解析到变量中。
注释:如果未设置 array 参数,则由该函数设置的变量将覆盖已存在的同名变量。
注释:php.ini 文件中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换。

得到的结果:
Array ( [name] => Bill [age] => 60 )

所以 amp; 这货为什么会出现,那是因为 & 被转义了

三、救星 — htmlspecialchars_decode()

既然某些字符被转义了,把它转回来就行了,于是尝试了htmlspecialchars_decode(),结果问题解决。


文章 js serialize()传值给php使用parse_str()处理后出现amp;的问题 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!