Convert a function from preg_replace to preg_replace_callback()

大憨熊 提交于 2019-12-02 10:26:41

Without any certitude, you can try this for the first preg_replace, and modify the second preg_replace in a same way:

$that = $this;
$pat = preg_replace_callback(
            '/([^\\\\])?\(\?(.*:)?(.*)\)/U',
            function ($m) use ($that) {
                return  $m[1] . '(?' . $that->cleanupInternal($m[2]) . $m[3];
            },
            $matches[1] . $matches[2]
);

As an aside comment, I don't think that ([^\\\\])? has any sense or is useful for something since it is optional and reuse in the replacement string at the same position.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!