我希望从存储在 MySql 数据库中的序列化数组中提取一些数据。我继承了这个,一些记录被打破了,但我仍然可以提取一些信息。当我反序列化时,它确实返回了一个错误,所以不幸的是,这是不可能的。
这是一些序列化数据:-
s:16:"current_postcode";s:8:"TT12 3TT";
我希望使用 preg_match 从中提取值,但我需要一些帮助来尝试在 PHP 中提取它。
你能帮忙吗?
最佳答案
你可以试试这个:
preg_match_all('/"([^"]+)"/', $data, $matches);
或
preg_match_all('/(?:s:16:|s:8:)"([^"]+)"/', $data, $matches);
但最后一个仅在您要查找的给定数据部分始终具有 s:16 或 s:8(数据项的长度)时才有效。否则不正确
关于php - 在PHP中使用preg_match提取部分序列化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40174435/