[ticket/514] Use preg_replace_callback in main_menu

B3P-514
This commit is contained in:
Marc Alexander
2015-03-20 17:47:56 +01:00
parent 2dd46f61b6
commit 6835979dbf

View File

@@ -534,7 +534,9 @@ class main_menu extends module_base
*/ */
private function utf_unserialize($serial_str) private function utf_unserialize($serial_str)
{ {
$out = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str); $out = preg_replace_callback('!s:(\d+):"(.*?)";!s', function ($result) {
return 's:' . strlen($result[2]) . ":\"{$result[2]}\";";
}, $serial_str);
return unserialize($out); return unserialize($out);
} }
} }