Есть ли такая возможность? Требуеться сделать элементарную вещь - на вызов 'echo' проверять текст, если первые буквы '<html', то перед выводом отправить заголовки PHP: <?php header("Content-type: text/html; charset=utf8"); ?> если '<?xml' PHP: <?php header("Content-type: application/xml; charset=utf8"); ?> и т.д. Знаю что выглядит глупо ...
PHP: <?php ob_start(); // code $contents = ob_get_clean(); if (substr($contents, 0, 5) === '<?xml') { header("Content-type: application/xml; charset=utf8"); } else { header("Content-type: text/html; charset=utf8"); } echo $contents;
Премного благодарен. А есть ли возможность выполнять перехват функций вообще? Это было бы еще более полезным для меня.
Такого не будет . На крайний случай всегда можно искать регулярным выражением '//DTD XHTML 1.0 Transitional', или другое... Код почти мой, так что проблем не будет.
DZEN Т.е. хуки - нет, такого нет. Можно это реализовать через классы с помощью магического метода __call, но вряд-ли это вам нужно. Правда есть ещё один очень зверский и неправильный вариант - http://lv.php.net/manual/en/book.runkit.php - но готовтесь к тому, что опкод кешеры возможно не будут работать, а так же скорее всего производительность упадёт. Переопределяете вам нужные функции своими и делайте что хотите
Через классы смысла нет - и так могу написать, что в классе происходит. Про runkit прочитал. Лучше сервер на Windows Server 2003 .