function makePage($html, $data) {
$res = null;
foreach ($data as $k => $v) {
$res = preg_replace("#{{".$k."}}#ui", $v, $html);
}
return $res;
}
в $html приходит шаблон страницы, где есть метки типа {{TITLE}}, {{CONTENT}}, которые нужно заменить через preg_replace.
Массив $data соответственно будет такой
array(2) {
["title"]=>
string(60) "Салон красоты ШОКОЛАД г.Белгород"
["content"]=>
string(17) "Тут текст"
}
Так вот, функция заменяет только метку {{CONTENT}}. Где я проглядел ошибку??
P.S. Файлы, тексты и т.д. - все в UTF-8.
Спустя 15 минут, 18 секунд (12.07.2012 - 19:57) rooor написал(а):
str_ireplace("{{".$k."}}", $v, $html);?
Спустя 1 минута, 2 секунды (12.07.2012 - 19:58) alexbel2404 написал(а):
да пробовал, та же фигня)
Спустя 2 минуты, 32 секунды (12.07.2012 - 20:01) rooor написал(а):
$html = preg_replace("#{{".$k."}}#ui", $v, $html);
Спустя 5 минут, 22 секунды (12.07.2012 - 20:06) rooor написал(а):
при первом проходе цикла ты присваиваешь переменной $res содержимое переменной $html, в которой {{TITLE}} заменено, при втором проходе - всё что до этого было в $res - заменяется на $html, только там уже заменено {{CONTENT}}, а {{TITLE}} как был {{TITLE}}, так и остался
Спустя 2 минуты, 18 секунд (12.07.2012 - 20:08) alexbel2404 написал(а):
Цитата (rooor @ 12.07.2012 - 21:06) |
при первом проходе цикла ты присваиваешь переменной $res содержимое переменной $html, в которой {{TITLE}} заменено, при втором проходе - всё что до этого было в $res - заменяется на $html, только там уже заменено {{CONTENT}}, а {{TITLE}} как был {{TITLE}}, так и остался |
Точно перегрелся) Спасибо))