Консультация № 70786
13.01.2007, 20:53
0.00 руб.
0 1 1
Приветствую уважаемые коллеги и с праздниками!

Имеется шаблон обычной HTML таблицы (исходник в приложении) в виде графической
рамки в которой будет выводиться графика и текст из базы данных и текстовых файлов. Эта рамка сохранена как отдельный HTML блок и выводится в страницах средствами PHP. Каким образом мне теперь отобразить внутри каждой рамки нужный текст если этих рамок в одной странице будет несколько и текст в каждой рамке тоже разный? Интересует больше теоретическая часть реализации.

Заранее всем спасибо!

Приложение:
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%"><TBODY><TR><TD height="100%" width=11><TABLE border=0 cellPadding=0 cellSpacing=0 height="100%" width=11><TBODY><TR><TD height=47><IMG height=47 src="left_top.gif" width=11></TD></TR><TR><TD background="left_back.gif" height="100%"> </TD></TR><TR><TD height=23><IMG height=23 src="left_bot.gif" width=11></TD></TR></TBODY></TABLE></TD><TD height="100%"><TABLE bgColor=#5d5d5d border=0 cellPadding=1 cellSpacing=1 height="100%" width="100%" rowspan="2"><TBODY><TR><TD bgColor=#CCCCCC vAlign=top><BR><BR><BR><CENTER> <FONT SIZE="6">Здесь будет выводится текст.</FONT> </CENTER><BR><BR><BR></TD></TR><TR height=1><TD bgColor=#CCCCCC>   </TD></TR></TBODY></TABLE></TD><TD height="100%" width=11><TABLE border=0 cellPadding=0 cellSpacing=0 height="100%" width=11><TBODY><TR><TD height=47><IMG height=47 src="right_top.gif" width=11></TD></TR><TR><TD background="right_back.gif" height="100%"> </TD></TR><TR><TD height=23><IMG height=23 src="right_bot.gif" width=11></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><TABLE border=0 cellPadding=0 cellSpacing=0 height=12 width="100%"><TBODY><TR><TD width=69><IMG height=12 src="cont_left_bot.gif" width=69></TD><TD background="bot_back.gif"><IMG height=12 src="spacer1.gif" width=1></TD><TD width=69><IMG height=12 src="cont_right_bot.gif" width=69></TD></TR></TBODY></TABLE>

Обсуждение

Неизвестный
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);?>
Форма ответа