HTML-код и вывод кода Auto-indent

При отображении HTML-кода в PHP, если я хочу отступать теги, что было бы лучше всего?

Например,

<?php $html = '<div><p><span>some text</span></p></div>'; echo htmlspecialchars($html); ?> 

даст <div><p><span>some text</span</p></div> .

Вместо этого я хотел бы показать что-то вроде:

 <div> <p> <span>some text</span> </p> </div> 

Вы можете использовать htmLawed
http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/

это будет ваш код:

 <?php require("htmLawed/htmLawed.php"); echo "<pre>"; echo htmlspecialchars( htmLawed('<div><p><span>some text</span></p></div>', array('tidy'=>4)) ); echo "</pre>"; ?> 

Вы также можете использовать HEREDOC.

  $html = <<<NICE <div> <p> <span>some text</span> </p> </div> NICE; echo "<pre>"; echo htmlspecialchars( $html ); echo "</pre>"; 

Если вы знаете, как вы хотите, чтобы он выводился (как в том, как будет выглядеть ваша строка, как вы его делаете), вы можете легко сделать это следующим образом:

 $html = "<div>\n\t\t<p>\n\t\t\t<span>some text</span>\n\t\t</p>\n\t</div>"; 

Обязательно используйте двойные кавычки, хотя и не одиночные.

Вывод, если смотреть в исходном коде:

 <div> <p> <span>some text</span> </p> </div> 

Если вы хотите, чтобы это было сделано автоматически, тогда вам, возможно, придется продержаться еще один ответ, я не очень хорошо знаю регулярное выражение, и я не использую DOM (даже не уверен, применим ли он в этой ситуации) ,

Возможно, вам понадобится расширение PHP Tidy .

Tidy является связующим звеном для утилиты очистки и восстановления Tidy HTML, которая позволяет не только очищать и иным образом манипулировать HTML-документами, но также перемещаться по дереву документов.