preg_replace_callback - внутри класса: как правильно записать callback function?

tp

Guest
preg_replace_callback - внутри класса: как правильно записать callback function?

Есть такой код
class myclass{
function cbf($mathes)
{}

function a()
{
preg_replace_callback($pattern,"this->cbf",$text);
}
}

Такое указание callbck function выдает ошибку, как сделать это правильно, именно чтобы callback function находилась в этом же классе?
 

Фанат

oncle terrible
Команда форума
[m]call_user_func[/m] наверное.
А вообще, я от preg_replace_callback отказался в пользу preg_match_all, обработки найденного, и str_replace
Для унификации.
 

tp

Guest
Originally posted by Demiurg
preg_replace('/pattern/e',"\$this->cbf()",$text);
Что-то не работает
Warning: preg_replace_callback() requires argument 2, '$this->get_params()', to be a valid callback

Наверное придется preg_match_all использовать
 

Demiurg

Guest
tp
внимательнее смотри, что я тебе написал.
 

tp

Guest
Originally posted by Demiurg
tp
внимательнее смотри, что я тебе написал.
Сорри, слишком ты быстро отвечаешь :)
Сразу, как ответил, увидел, а исправить не успел

А как мне внутри этой ф-ии получить совпадения?
 

Demiurg

Guest
>А как мне внутри этой ф-ии получить совпадения?
preg_replace('/pattern/e',"\$this->cbf('\\0')",$text);

Blindman
недокументированая фича ?
 

tp

Guest
Всем спасибо, буду использовать preg_match_all - действительно лучше подходит для моего случая
 

advocat

developer
когда-то где-то год назад боролся с этой проблемой :) просто нужно не $this->funcname() а ClassName::funcname()
 
Сверху