preg_match_all

Мутник

Новичок
preg_match_all

есть такая задачка - пройтись по строке и заменить что-то на что-то.

в данный момент делаю так:
PHP:
preg_match_all("/~[!_a-zA-Z]*~/", $page, $matches);	

for ($i=0; $i<sizeof($matches); $i++){
 some actions;
}

а можно ли как то сделать так, чтобы все происходило на ходу??? т.е. получил совпадение и сразу же с ним что то сделал...

читал, что можно совпадение заключать в круглые скобки, а потом делать что то типа function(\\1);

но не работает...
 
не, ну это понятно....меня интересует то, как передать туда параметр совпадения???

в перле вроде можно $1, для пхп написано, что \\1 но у меня пишет, что
PHP:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in ...

делаю так:

PHP:
preg_replace("/~([!_a-zA-Z])*~/", $page, strtolower(\\1));

перед единичкой - 2 обратные кавычки - не постятся
 
ну так а у меня так:

preg_replace("/~([!_a-zA-Z]*)~/", strtolower("\\1"), $page);

что тут не так???
 
с прег_реплисом все отменно работает...

за совет спасибо, сейчас посмотрю...

проблема решена. Спасибо всем.
 
Сверху