PHP中的preg_replace_callback做了什么?我该如何阻止它发生内存泄漏?

我在b2evo PHP上看到这样一段代码:

$content = preg_replace_callback(
    '/[\x80-\xff]/',
    create_function( '$j', 'return "&#".ord($j[0]).";";' ),
    $content);

这段代码是干嘛用的。?我的猜它是删除ascii码在128到256之间的字符,但我不是很确定。

而且,就目前而言,每次在页面里调用它时,PHP都会分配,然后不会释放高达2K的内存。如果在页面上调用该函数1000次(这极有可能发生),那么该页面将占用额外的2MB内存。

这导致我的Web应用程序出现问题。 为什么我的内存会消失,如何重写段代码以免出现内存泄漏?

?

3个回答