|
|
|
| Если в сайт идет подключение модуля, который выводит данные оператором echo, но выводимый контент нужно пропустить через определенную функцию, то есть три варианта:
- организация буферизации вывода =) (функа ob_start() и иже с нею)
- создать свою функу вывода (аля MyEcho($out)) и заставить юзать ее
- переопределить функи вывода (или хотя бы echo) - самое удобное для использования.... НО реализовываемо ли это???
Собсно выше и есть вопрос - КАК переопределить встроенную функу echo на свою ;) ???
Пример для непонятливых ;)
function echo($out)
{
$out = ........;
echo $out; // вызов стандертной функи echo
};
echo "ТЕКСТ ДЛЯ ВЫВОДА"; // вызов функи echo($out)
|
PS. Чувствую, что ответа кроме "такое невозможно" не получу, но все же =))) а вдруг? | |
|
|
|
|
|
|
|
для: ZuArt
(19.06.2007 в 16:16)
| | Да не то что невозможно. Это просто глупо.
<?php
echo(myfunction($string));
?>
|
Вместо myfunction() Ваша функция, которая будет обрабатывать содержимое.
Либо ob_start("callback"), где "callback" имя функции, которая будет обрабатывать содержимое буфера.
P.S. echo не функция, а конструкция языка. | |
|
|
|
|
|
|
|
для: Unkind
(19.06.2007 в 16:21)
| | Это просто глупо.
Попрошу без оскорблений!!!
Если Вы не видите применений данной проблематике, то это ваша проблема, а для примера ЛЕГКО могу предоставить пример...
Чужой модуль, кодированный Zend-ом, который генерит некий контент, со своими ссылками вида "http://site1.ru"- переделать нужно перед выводом на "http://site2.ru"...
Можно сделать, естессно в обход - обратиться к модулю через http://site2.ru/module.php - потом полученный контент прогнать через регулярку и т.д. - обходной путь... но он требует ресурсов времени... Гораздо быстрее простой include_once("module.php"), но тогда ссылки будут вести на http://site1.ru
Вариант с буферизацией я прекрасно знаю - читать внимательнее нужно постановку вопроса - но иногда и он неприемлем..... | |
|
|
|
|
|
|
|
для: ZuArt
(19.06.2007 в 16:31)
| | Я уже сказал.
Либо ob_start("callback"), где "callback" имя функции, которая будет обрабатывать содержимое буфера.
Переопределение функций/операторов в PHP невозможно. В Perl можно. | |
|
|
|
|
|
|
|
для: Unkind
(19.06.2007 в 16:36)
| | =))) уже повторения пошли... если нет вариантов, просьба не повторять вышесказанное =))
Ждем еще предложений - часто "невозможное возможно" =))) | |
|
|
|
|
|
|
|
для: ZuArt
(19.06.2007 в 17:08)
| | OK. Я наврал. Скачайте исходники PHP и измените их. Потом скомпилируйте. | |
|
|
|
|
|
|
|
для: Unkind
(19.06.2007 в 17:49)
| | Хороший вариант ;) - между прочим - ВАРИАНТ, заслуживающий внимания... и это факт... =) | |
|
|
|