preg_replace_callback出现内存泄露。有人解决了么? 最新 php5.4 是 php5.4.22尝试回调函数不使用闭包形式如果依然不能解决问题,可去 php 的 bug 网站提交 bug 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很多人提交 这个bug了,我去看过了。 如果是:先 preg_match_all再 preg_replace也会出问题吗? 怎么实现的?原框架错误代码如下:注意【preg_replace_callback】的使用 if (! $closeTag) { $patterns = '/' . $begin . $parseTag . $n1 . '\/(\s*?)' . $end . '/is'; $content = preg_replace_callback($patterns, function ( $matches ) use( $tLib , $tag , $that ) { return $that->parseXmlTag($tLib, $tag, $matches[1], $matches[2]); }, $content); } else { $patterns = '/' . $begin . $parseTag . $n1 . $end . '(.*?)' . $begin . '\/' . $parseTag . '(\s*?)' . $end . '/is'; for ($i = 0; $i < $level; $i ++) { $content = preg_replace_callback($patterns, function ( $matches ) use( $tLib , $tag , $that ) { return $that->parseXmlTag($tLib, $tag, $matches[1], $matches[2]); }, $content); } } 既然 preg_replace_callback 会有内存泄露那么应该在任何文件中都是这样的你可以单独用一个文件测试一下$content = preg_replace_callback('/[a-z]/', function ( $matches ) { return strtoupper($matches[0]); }, 'abdfrew');echo $content;与之等价的分立代码为$content = 'abdfrew';preg_match_all('/[a-z]/', $content, $matches );foreach($matches[0] as $v) $r[$v] = strtoupper($v);$content = strtr($content, $r);echo $content;先分别运行一下,看有无问题 如何N个数据表 字段求和啊?? 如何把camera.swf用到自己的网站中 开源项目 袖珍示波器 帮忙看下这题的算法..分够多,尽管来. 急,各位高手帮帮我这个PHP菜鸟!! 请问高手,这是PHP是什么加密样式的! 正则表达式解释 用sql语句如何将a表的数据复制到b表? ftp可以连接上,不能上传下载是怎么回事啊?好几天了 微信公众号,新增永久素材(图文)总失败 我自己的服务器,网站 可以访问了,怎么设置好FTP 怎样把网站页面生成长微博
先 preg_match_all
再 preg_replace
也会出问题吗?
原框架错误代码如下:注意【preg_replace_callback】的使用
if (! $closeTag)
{
$patterns = '/' . $begin . $parseTag . $n1 . '\/(\s*?)' . $end . '/is';
$content = preg_replace_callback($patterns, function ( $matches ) use( $tLib , $tag , $that )
{
return $that->parseXmlTag($tLib, $tag, $matches[1], $matches[2]);
}, $content);
} else
{
$patterns = '/' . $begin . $parseTag . $n1 . $end . '(.*?)' . $begin . '\/' . $parseTag . '(\s*?)' . $end . '/is';
for ($i = 0; $i < $level; $i ++)
{
$content = preg_replace_callback($patterns, function ( $matches ) use( $tLib , $tag , $that )
{
return $that->parseXmlTag($tLib, $tag, $matches[1], $matches[2]);
}, $content);
}
}
那么应该在任何文件中都是这样的你可以单独用一个文件测试一下
$content = preg_replace_callback('/[a-z]/', function ( $matches ) {
return strtoupper($matches[0]);
}, 'abdfrew');
echo $content;与之等价的分立代码为
$content = 'abdfrew';
preg_match_all('/[a-z]/', $content, $matches );
foreach($matches[0] as $v) $r[$v] = strtoupper($v);
$content = strtr($content, $r);
echo $content;
先分别运行一下,看有无问题