[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с preg_replace
alexbel2404
Есть ф-ия
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}}, так и остался

Точно перегрелся) Спасибо))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.