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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: php отображаеться в html'e

Сообщения:  [1-10]   [11-17] 

 
 автор: KR0k   (11.08.2005 в 12:57)   письмо автору
 
   для: cheops   (11.08.2005 в 01:37)
 

Да, возвращает!

   
 
 автор: cheops   (11.08.2005 в 01:37)   письмо автору
 
   для: KR0k   (10.08.2005 в 18:35)
 

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

Только в данном конкретном случае... не очень хорошо получается - сначала выводится Hello, а потом всё остальное... У вас функция возвращает какое нибудь значение или просто производит побочные действия?

   
 
 автор: KR0k   (10.08.2005 в 18:47)   письмо автору
 
   для: Андрюха.   (10.08.2005 в 17:12)
 

ой, наверно наши мысли разошлись.....
У меня проблема в вывде данных из базы была!
дело в том что $page[1] это не просто текст! там есть и php скрипты!

   
 
 автор: KR0k   (10.08.2005 в 18:35)   письмо автору
 
   для: cheops   (10.08.2005 в 18:16)
 

Ну да, к примеру у меня есть
$txt = '<b>Пример</b><br><?php_function('val1','val2');?> кода взятого из базы....';
Тут надо что-то с этим сделать что бы при:
echo $txt;
Вывело $txt не как есть(Я в курсе что там у меня синтасическая ошибка, но в данный момент это погоды не делает), а вместе с результатами работы функции!

   
 
 автор: cheops   (10.08.2005 в 18:16)   письмо автору
 
   для: KR0k   (10.08.2005 в 15:28)
 

А распластать в смысле отделить html от php?

   
 
 автор: Андрюха.   (10.08.2005 в 17:12)   письмо автору
 
   для: KR0k   (10.08.2005 в 15:25)
 

Ну не совсем
<?main();?> равно забыл и ";" ?

- файл 1.php ----- tpru-u....(index.tpl)

<?php
include("2.php");
?>
много HTML'я<p>
<?=(news('full',38376))?>
<p>много HTML'я

файл 2.php

<?php  function news($id,$main_page)
{
         
$dbi mysql_query('SELECT * FROM ss_products WHERE ID='.$main_page.';');
         
$page mysql_fetch_array($dbi);
         echo 
'<h1>'.$page[0].'</h1>';
         echo 
$page[1];
}
?>

Так имеешь в виду ???

   
 
 автор: KR0k   (10.08.2005 в 17:08)   письмо автору
 
   для: KR0k   (09.08.2005 в 17:38)
 

У меня пока только одним способом получилость это реализовать не меняя код,
я в базу занашу не

много HTML'я до новостей 
<? news('full',7);?> 
много HTML'я после новости

а

Много HTML'я до
<iframe src='test.php?test=123' frameborder=0 vspace=0 hspace=0 marginwidth=0 marginheight=0 scrolling=no>
</iframe>
Много HTML'я после


Может всетаки кто-то предложет что-нибудь более красивое, а то эти фреймы....

   
 
 автор: KR0k   (10.08.2005 в 15:28)   письмо автору
 
   для: cheops   (10.08.2005 в 13:24)
 

Спасибо!!!
По моему eval() это то что надо, только что-то у меня не получаеться его запустить...

получаеться только переменные заменять те вместо $test у меня ее значение выводиться, но вот функции так и остаються news('full',7);

Может call_user_func() попробывать запустить? и еще одна просба.... вроде решение почти есть, помогите мне получаемый текст разпарсить....я просто вторую ноч с этим борюсь....сильно торможу!

   
 
 автор: KR0k   (10.08.2005 в 15:25)   письмо автору
 
   для: Андрюха.   (10.08.2005 в 13:47)
 

Да пожалуйсто если мне помогут разобраться...
кусок кода из index.php

         $dbi = mysql_query('SELECT * FROM pages WHERE id='.$main_page.';');
         $page = mysql_fetch_array($dbi);
         echo '<h1>'.$page['title'].'</h1>';
         echo $page['txt'];   // <- вот вывод данных из базы из за которых я 2ноч не сплю


пример содержимого базы я показал в первом посте.

А все это вставляеться в шаблом путем вызова этой функции index.tpl

<html>
<head>
<title><?=$title;?></title>
</head>
<body>
<?main();?>
</body>
</html>

Скажу сразу что тут все в порядке....

   
 
 автор: Андрюха.   (10.08.2005 в 13:47)   письмо автору
 
   для: KR0k   (10.08.2005 в 13:26)
 

Ну а часть функции не покажете. И по-моему лучше передать $id, а в функции определить full или title

   

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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