<?php $corrupted_byte_counts = <<<STRING s:151:"a:1:{i:0;a:4:{s:4:"name";s:15:"Chloe O'Gorman";s:6:"gender";s:6:"female";s:3:"age";s:3:"3_6";s:7:"present";s:34:"Something from Frozen or a jigsaw ";}}"; STRING; $repaired = preg_replace_callback( '/s:\d+:"(.*?)";/s', function ($m) { return 's:' . strlen($m[1]) . ":\"{$m[1]}\";"; }, unserialize($corrupted_byte_counts) // first unserialize string before repairing ); echo "corrupted serialized array:\n$corrupted_byte_counts"; echo "\n---\n"; echo "repaired serialized array:\n$repaired"; echo "\n---\n"; print_r(unserialize($repaired)); // unserialize repaired string echo "\n---\n"; echo serialize($repaired);
You have javascript disabled. You will not be able to edit any code.