Warning: preg_replace_callback() [function.preg-replace-callback]: Requires argument 2, 'info', to be a valid callback in [...]
public function getDisplay(){
$info = array_merge($this->info,array());
return preg_replace_callback('!{{(w+)}}!', 'info', $this->display);
}
In a public function from "MyClass", stopped working when I moved from another class to this one. Which was:
public function getEdit( $type){
$all_info = $this->info;
return preg_replace_callback('!{{(w+)}}!', 'all_info', $edit_contents);
}
Both are cleaned up, and now I can't retest with previous class because it's already long gone.
I'm sure using variables is not allowed, but it was working, so I'm clueless.
When I do this, as suggested in some stackoverflow thread, but obviously it's not made to be used within objects:
public function getDisplay(){
$display_info = $this->info;
function display_info($matches) {
global $display_info;
return $display_info[$matches[1]];
}
return preg_replace_callback('!{{(w+)}}!', 'display_info', $this->display);
}
So I need some love and guidance cuz php is driving me crazy this week...
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…