You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用badwords-filter npm遇PHP8兼容问题:create_function()报错求助

修复PHP 8中create_function()被移除导致的badwords-filter报错

create_function()在PHP 8.0版本已被正式移除,你需要将这段代码中的动态函数替换为PHP原生支持的匿名闭包,以下是修复后的代码:

private function flattenArray($array)
{
    $objTmp = (object)['aFlat' => []];

    array_walk_recursive($array, function(&$v, $k, &$t) {
        $t->aFlat[] = $v;
    }, $objTmp);

    return $objTmp->aFlat;
}

修复说明:

  • 匿名闭包是PHP 5.3+就支持的特性,完全兼容PHP 8及后续版本,能完美替代create_function()的功能
  • 闭包的参数和逻辑和原代码完全一致,只是语法更规范、执行性能更优
  • 如果这个badwords-filter包长期未维护,建议考虑fork仓库自行修改维护,或者更换其他维护活跃的敏感词过滤类库

内容的提问来源于stack exchange,提问作者Maksim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 13:05:26