由于 php8 不再支持
create_function
,如何更新此代码以避免致命错误?
$str = @preg_replace_callback(
'/>(\s*$\s*)</m',
create_function('$matches', "return strpos('$matches[0]', ' ') === false?'><':'> <';"),
$str
);
我尝试过这个,但似乎不起作用。不会抛出任何错误。看出有什么明显的问题了吗?
$str = @preg_replace_callback(
'/>(\s*$\s*)</m',
function($matches) { return strpos('$matches[0]', ' ') === false?'><':'> <'; },
$str
);
您的问题重复,答案确实存在这里 但是你的代码重写了:
$str = @preg_replace_callback(
'/>(\s*$\s*)</m',
fn($matches) => strpos($matches[0], ' ') === false?'><':'> <',
$str
);