|
|
|
| Вот этот код:
<?
$var = '{title}<br /><br /> {content}';
echo str_replace(array('{title}', '{content}'), array('Что такое {content}?', 'Это контент'), $var);
|
Выдает:
Что такое Это контент?<br /><br /> Это контент
А как мне сделать чтоб он выдавал:
Что такое {content}?<br /><br /> Это контент
Это ведь както реализовано в Smarty, только как? | |
|
|
|
|
|
|
|
для: nikita2206
(29.05.2009 в 16:07)
| | Построением структуры документа. В три строчки не получится. | |
|
|
|
|
автор: 0101010 (29.05.2009 в 16:27) |
|
|
для: nikita2206
(29.05.2009 в 16:07)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: 0101010
(29.05.2009 в 16:27)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: nikita2206
(29.05.2009 в 16:42)
| | спасибо всем, решил так:
<?
$this->replace = array(
'post' => array(
'title' => 'Заголовок{content}',
'content' => 'Контент',
'root' => TPL_DIR,
'http_host' => HOST
)
);
foreach($this->replace[$tplname] as $key => $value)
$$key = $value;
$tpl = !isset($this->tpls[$tplname]) ? $this->tpls[$tplname] = file_get_contents(ROOT.TPL_DIR.$tplname.'.tpl') : $this->tpls[$tplname];
eval('$tpl = "'.addcslashes($tpl, '"').'";');
return $tpl;
|
| |
|
|
|
|
автор: 3123123 (29.05.2009 в 18:52) |
|
|
для: nikita2206
(29.05.2009 в 17:18)
| |
<?
$arr = array('title' => 'Заголовок{content}',
'content' => 'Контент',
'root' => TPL_DIR,
'http_host' => HOST);
echo strtr($str, $arr);
|
[поправлено модератором] | |
|
|
|
|
автор: 2342342 (29.05.2009 в 18:53) |
|
|
для: 3123123
(29.05.2009 в 18:52)
| | ззы
'{title}' => ...
'{content}' => ...
и т.д. | |
|
|
|
|
|
|
|
для: 2342342
(29.05.2009 в 18:53)
| | я нехочу задавать массив, в ключах которого будут { и }, мало того, интерпретатор PHP наверняка быстрее выполнит функции поиска и замены, чем функция | |
|
|
|