使用preg_match在PHP

时间:2016-10-21 10:36:11

标签: php mysql serialization preg-match

我希望从存储在MySql DB中的序列化数组中提取一些数据。我继承了这个并且一些记录被破坏但我仍然可以提取一些信息。当我反序列化时,它确实会返回错误,所以不幸的是,这是不可能的。

这是一些序列化数据: -

s:16:"current_postcode";s:8:"TT12 3TT";

我希望使用preg_match从中提取该值,但我需要一些帮助尝试在PHP中提取它。

你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

preg_match_all('/"([^"]+)"/', $data, $matches);

preg_match_all('/(?:s:16:|s:8:)"([^"]+)"/', $data, $matches);

但最后一个只有在您要查找的给定数据部分始终具有s:16或s:8(数据项的长度)时才有效。否则它不会是正确的