Главная Новые темы Список тем Задать вопрос Поиск  
Oткрытая львовская Группа Пользователей Unix

Форум "Web-мастер"


Технологии web-програмирования


 #0 ID © 19.09.06 11:18:56 - 20.09.06 14:46:32

"перехват" eval()



Доброго времени суток.
Простой вопрос от новичка в PHP :)
Вопрос:
Есть некая функция, в которой используется eval().
Необходимо все, что выводит не экран эта функция присвоить переменной.
Как? Цитата

 #1 VictorT © 19.09.06 12:54:35

А переписать функцию не канает?
 #2 Deep © 19.09.06 12:56:48

тебе нужно присвоить переменной результат функции или ее видимый результат?    
 #3 ID © 20.09.06 09:03:08

мне нужно было присвоить видимый результат выполнения функции. Проблему решил обходным путем. Пол дня потерял, переделал все через шаблоны. Проблема исчезла, но ответ на свой вопрос так и не нашел :)
 #4 Deep © 20.09.06 10:30:35

>  #3   ID ©
скорее всего только разбиением функции на более мелкие части с выделением блоков которые выводят информацию пользователю. Собственно то, что ты и сделал - выделил шаблоны.    
 #5 McSimm © 20.09.06 14:20:45

Лучшее решение - переписать функцию. И крайне рекомендую строго избегать eval() -- крайне редко использование этой функции может быть объективно оправдано.
---
Общее решение для заданного вопроса достаточно простое - использовать буферизацию вывода. например :

ob_start(); // запустить новый уровень буферизации
echo "Hello World"; // некий вывод в поток
$str = ob_get_contents(); // получить буфер вывода
ob_end_clean(); // очистить и закрыть текущий уровень

 #6 VictorT © 20.09.06 14:46:32

> использовать буферизацию вывода. например
блин, а меня чё-то переклинило, что речь о JavaScript.




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов