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

Форум PHP

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

 

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

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

тема: Код хранящийся в базе
 
 автор: zavragnov   (28.11.2007 в 13:54)   письмо автору
 
 

Вот стоит задача запускать код хранящийся в базе, но есть одно "но" код может быть вместе с html , на форуме нашел почти то что нужно, результат выполнения кода всегда вверху (сначала) а нужно в том порядке как представленно в примере

пример

$topcontent - это то что отдает база данных и вне хранится вот это

Всякий HTML далее должен быть результат выполнения скрипта <?php calendar(); ?> и еще текст и html


функция обработка

<?php 

function contents($topcontent)  
  {
  
  function 
execute_php($matches)  
  { 
    
// как обычно: $matches[0] -  полное вхождение шаблона 
    // $matches[1] - вхождение первой подмаски, 
    // заключенной в круглые скобки, и так далее... 
    
return eval($matches[1]); 
  }
  echo 
preg_replace_callback("|<\?php([^?]+)\?>|i""execute_php"$topcontent); 
  
  } 
?>



Использовал и читал темы

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=13241&page=1
http://softtime.ru/forum/read.php?id_forum=1&id_theme=6177

   
 
 автор: exp   (28.11.2007 в 16:26)   письмо автору
 
   для: zavragnov   (28.11.2007 в 13:54)
 

проще наверное так
<?php  

function
calendar()
{
    return 
'<h1 style="border-bottom: grey solid 15px">календарь</h1>';
}

function
execute_php(&$matches$key)   
{  
     if (
$key 2$matches = eval($matches); 
     else echo  
$matches;
}


$txt '<?php echo calendar(); ?> и еще текст и html<hr>
<?php
function clock()
{
return \'<h1 style="border-bottom: black solid 15px">часы</h1>\';
}
?> <br>ещё html
<?
echo clock();
?>'



array_walk(preg_split('/<\?(php)?|\?>/s'$txt), 'execute_php');
?>
но тоже несработает если в $txt будет <? $var="?><?php"; ?>

   
Rambler's Top100
вверх

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