|
|
|
| Имеется массив $block[] ("MENU" => "...", "BODY", ......) и тд
Есть текст, в котором присудствуют записи вида {BLOCK_MENU} и тд.
Надо вместо записи {BLOCK_MENU} присвоить значение массвива $block с ключем MENU
Далее скрипт:
$pr = array(
..................
"/ {BLOCK_(.+?)} /ixs" => $block["\\1"],
..................
);
$template = preg_replace(array_keys($pr), array_values($pr), $template);
|
Собственно прблема в том, что если написать $block[$1] - выдается ошибка, если написать "$block[$1]" тоже. Если написать $block["$1"] ошибки нет, слово {BLOCK_MENU} заменяется ни на что. Я подумал, может аналогичная $1 запись \\1 даст другой результат? Оказалось нет..
я уже примерно понял, что нормальные люди кладут такие блоки в htm ные файлы и обращаются к ним по имени. Но я, по всей видимости, не нормальный :) Вообщем как в такой записи можно нормально обратиться к массиву?
Примечание: Карман захватывает что надо, проверял, если записать тупо $block['MENU'] или $block[MENU], то все выводится правильно. Это так, чтобы не было линих вопросов.
Заранее спасибо. | |
|
|
|
|
|
|
|
для: devil943
(23.11.2008 в 19:37)
| |
"/ {BLOCK_(.+?)} /ixse" => '$block["\\1"]',
|
нет? | |
|
|
|
|
|
|
|
для: Trianon
(23.11.2008 в 19:41)
| | О, спасиюбо... как все просто | |
|
|
|