Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрыть всё между [sec_code][/sec_code]
 
 автор: Lex   (08.02.2008 в 03:11)   письмо автору
 
 

Здравствуйте! Подскажите пожалуйсто как скрыть всё между тегами [sec_code][/sec_code] если например $do="0"; и показать когда $do="1";? есть шаблон register.tpl
                         <table width="550" border="0" cellspacing="0" cellpadding="0">

                            <tr>
                              <td width="130" height="25">Логин:</td>
                              <td><input type="text" name="name" id='name' style="width:165px" class="f_input" /> <input style="height:18px; font-family:tahoma; font-size:11px; border:1px solid #DFDFDF; background: #FFFFFF" title="Проверить доступность логина для регистрации" onclick="CheckLogin(); return false;" type="button" value="Проверить имя" /><div id='result-registration'></div></td>
                            </tr>
                            <tr>
                              <td width="130" height="25">Пароль:</td>
                              <td><input type="password" name="password1" class="f_input" /></td>
                            </tr>
                            <tr>
                              <td width="130" height="25">Повторите пароль:</td>
                              <td><input type="password" name="password2" class="f_input" /></td>
                            </tr>
                            <tr>
                              <td width="130" height="25">Ваш E-Mail:</td>
                              <td><input type="text" name="email" class="f_input" /></td>
                            </tr>
[sec_code]
                            <tr>
                              <td colspan="2" height="25"><strong>Подтверждение кода безопасности</strong></td>
                            </tr>
                            <tr>
                              <td width="130" height="25">Код безопасности:</td>
                              <td>{reg_code}</td>
                            </tr>
                            <tr>
                              <td width="130" height="25">Введите код:</td>
                              <td><input type="text" name="sec_code" style="width:115px" class="f_input" /></td>
                            </tr>
[/sec_code]                            
                            <tr>
                              <td width="120" height="25">&nbsp;</td>
                              <td><div style="padding-top:2px; padding-left:0px;">
                              <input type="image" style="width:80px; height:20px" src="{THEME}/images/dlet_bttn_submit.gif" name="submit" alt="Отправить" /></div>
                              </td>
                            </tr>
                          </table>



загружаю через register.php таким образом
<?
$design 
file("templates/register.tpl");
  for(
$m=0;$m<count($design);$m++)
  {
  
$design[$m] = str_replace("{reg_code}""$code"$design[$m]);
  
$text.=$design[$m];
  }
?>

Кстате...может кто подскажет вообще нормально так файл шаблона загружать может есть способ поудобнее?

   
 
 автор: exp   (08.02.2008 в 19:21)   письмо автору
 
   для: Lex   (08.02.2008 в 03:11)
 

проще будет наверное как-то так
<?
$design 
file_get_contents("templates/register.tpl");

$search = array('#\{THEME\}#''#\[sec_code\]([^\[]+)\[/sec_code\]#e');
$replace = array('/script');
$replace[] = ($do 0) ?  'str_replace("\{reg_code\}", "$code", $1)' '';

echo 
preg_replace($search$replace$design);
// непроверял
?>

но как будет лучше работать

   
 
 автор: Lex   (08.02.2008 в 21:17)   письмо автору
 
   для: exp   (08.02.2008 в 19:21)
 

чёт не работает! немного не то!

   
 
 автор: exp   (08.02.2008 в 21:49)   письмо автору
 
   для: Lex   (08.02.2008 в 21:17)
 

ещё есть вариант со split()
<?
$do 
0;
$design file_get_contents("templates/register.tpl");

$design split('\[/?sec_code\]'$design);
print 
$design[0]; 
$design[1] = ($do 0) ?  print str_replace("{reg_code}""$code"$design[1]) : ''
print 
str_replace("{THEME}""$theme",  $design[2]) ; 

но так будет работать если все эти блоки в таком порядке и будут
или надо ещё цикл лепить

// дополнение :)
погорячился с $design[1]
наверно так
if ($do > 0) print str_replace("{reg_code}", "$code", $design[1]) ;

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования