Может ли PHP анализировать или определять текущий уровень отступа тега в исходном документе?

Для тех из нас, кто все еще встраивает PHP в структуру HTML, есть ли способ проанализировать уровень отступа (в пределах источника) текущего оцениваемого оператора / тега PHP?

Рассмотрим следующий блок:

<html>
    <body>
        <div class="nav">
            <?php insert_nav_menu() ?>
        </div>
    </body>
</html>

<?php
    function insert_nav_menu(){
        $current_indent_level = {get current indent level of tag in source};
        $indent = ( $current_indent_level ) ? str_repeat( "\t", $current_indent_level ) : '';

        echo "{$indent}<p>Insert nav menu here...</p>\n";
    }
?>

Есть ли какой-нибудь известный метод прагмы или интроспекции, который покажет что-нибудь о строке, на которой был сделан вызов функции, так что HTML-код, сгенерированный функцией PHP, при просмотре в исходном браузере будет показывать согласованный отступ?

2 ответа

Чтобы сообщить вам, PHP ничего не знает о HTML.
Как и в SQL. Или JS.
Для PHP это только строки без особого значения.
Это работа программиста, а не программы.

Если вы хотите узнать уровень отступа, вы должны посчитать его.

И постобработка, о которой все здесь говорят, вам не поможет.

Как упомянул @Borealid, я бы посмотрел на постобработку с использованием PHP: Tidy - http://www.php.net/manual/en/tidy.examples.basic.php

Другие вопросы по тегам