Может ли 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