Регулярные выражения... Как произвести замену?

Guest111

Guest
Регулярные выражения... Как произвести замену?

Начну сразу с кода того, что я хочу сделать:
Код:
<?

$strings = array();
$strings["0"] = "first";
$strings["1"] = "second";

$str = "aaaa%%1%%aaaa";

echo $str = preg_replace ( "/%%(\d+)%%/", $strings["$1"], $str );

?>
т.е. я захотел, чтобы все "%%N%%" части были заменены на: $strings[N]. Подскажите как это реализовать можно?
Что в моем коде неверно?
Я понимаю, что вопрос чайниковский и все-таки попрошу без ссылок на основы РНР.
 

uchenik

Новичок
echo $str = preg_replace ( "/%%(\d+)%%/e", "\$strings['\\1']", $str );

обрати внимание на модификатор "e" и экранирование симлова переменной "\$strings".

-~{}~ 11.09.05 23:00:

uliss,
не нужно писать ерунду.
 

uliss

Новичок
Понял свою ошибку, хотя ЭТОТ пример в моем варианте выдавал ожидаемые данные
 
Сверху