您好我正在使用此preg_replace_callback
$data = "a:6:{s:4:"home";s:32:"Rue d'Alsace Lorraine, Toulouse";s:6:"school";s:30:"Avenue de Fronton, Saint-Alban";s:9:"last_name";s:5:"Devis";s:10:"first_name";s:4:"Test";s:5:"phone";s:10:"0611223344";s:12:"got-distance";s:1:"1";}";
$data = preg_replace_callback(
'!s:(\d+):"(.*?)";!se',
function($matches) { return "'s:'.strlen('$2').':\"$2\";'"; },
$data
);
但是我的函数返回null,因为不支持e修饰符,任何人都可以帮忙解决这个问题,我想我需要改变正则表达式,但我不擅长正则表达式。
这样做的目的是将$ data传递给unserialize函数。