13.01.2007, 21:35
общий
это ответ
Здравствуйте, Web-Extrime!
Втом месте где нужно сделать подстановку значений поставте маркеры вида
@text@, далее получаете табличку из бызы данных и помещаете её в одну переменную, а данные которые нужно подставить вместо @text@ в массив,
потом собственно ищите при помощи регулярных выражений метса помеченные нужным образом и производите замену.
В таблице может быть несколько маркеров, и соответственно Вы можете подставлять не одно значение, а сколько душе угодно, вот собственно поэтому сами значения для вставок и помещаем в массив.
Это немного теории, в приложении Вы найдёте рабочий код.
Приложение:
<? //таблица полученная из базы данных//в которой места для вставок помечены как @ZAMENA@$table=‘<TABLE border=1><tr><td>@ZAMENA@@ZAMENA2@@ZAMENA3@</td></tr><table>‘;//массив со значениями$cimus[‘ZAMENA‘]=‘привет‘;$cimus[‘ZAMENA2‘]=‘
ещё раз привет, обрати внимание, что @ZAMENA3@ отсутствует в html коде, а хотя таблице она есть, её мы вырезали из-за того, что неначто было заменять‘;//---------------------------------------------------------------------------// ищем @текст@ и передаём найденое другой функции (cimus_replace) для заменыfunction replace($string){return preg_replace_callback(‘/@([A-ZА-ЯЁa-zа-яё0-9_]+)@/‘,‘cimus_replace‘,$string);}// тут собственно меням @текст@ на значения из массива, если нет значений то тогда @текст@ просто удаляем.function cimus_replace($ar){global $cimus;return isset($cimus[$ar[‘1‘]])? $cimus[$ar[‘1‘]]:null;}//вот тут собственно и производив вызов всего этого творенияprint replace($table);?>