【发布时间】:2018-06-07 16:45:08
【问题描述】:
我的情况很奇怪。 我正在解析隐藏的输入并得到这个字符串:
a:2:{s:12:"subscription";a:5:{s:6:"gender";i:1;s:4:"name";i:1;s:7:"company";i:1;s:5:"email";i:1;s:11:"receiveHtml";i:1;}s:6:"submit";i:1;}d35ea44253419bbb6a8be13422eb606ad54121f4
来自这个
preg_match_all('/hidden" name="(.*?)" value="(.*?)"/', $html, $hiddenResults);
当我尝试反序列化时,它返回 false,但如果我只是将它设置为手动变量并反序列化 - 它可以工作!什么问题?
我注意到了这一点:
string(248) "a:2:{s:12:"subscription";a:5:{s:6:"gender";i:1;s:4:"name";i:1;s:7:"company";i:1;s:5:"email";i:1;s:11:"receiveHtml";i:1;}s:6:"submit";i:1;}d35ea44253419bbb6a8be13422eb606ad54121f4"
string(178) "a:2:{s:12:"subscription";a:5:{s:6:"gender";i:1;s:4:"name";i:1;s:7:"company";i:1;s:5:"email";i:1;s:11:"receiveHtml";i:1;}s:6:"submit";i:1;}d35ea44253419bbb6a8be13422eb606ad54121f4"
相同的字符串有不同的长度!这怎么可能 ?
【问题讨论】:
-
上传更大的sn-p代码有什么变化吗?
-
真的没关系!请看一下,相同的字符串,长度不同
-
第一个字符串中可能有一些隐藏字符。
-
我怎么能看到?
-
不要用正则表达式解析HTML,使用php.net/manual/en/class.domdocument.php
标签: php serialization