2010-03-26 4 views
2

Мне нравится форматировать весь мой HTML с вкладками для аккуратности и удобочитаемости. Недавно я начал использовать PHP, и теперь у меня есть много выходных данных HTML, которые происходят из-за тегов PHP. Эти выходные линии выстраиваются в одну левую часть экрана. Я должен использовать /n, чтобы линия перешла к следующему. Есть ли что-то подобное для форсирования вкладок или любой способ получить аккуратный вывод HTML, поступающий из PHP?Как выводить форматированный HTML из PHP?

ответ

4

Существует tidy extension, который поможет вам (переформатировать) ваш html-выход.
Но к нему прикреплен небольшой ценник. Анализ вывода и построение html dom не является абсолютно бесплатным.

Редактировать: Возможно также, что вы просто ищете символ «\t». Например.

<html> 
    <head><title>...</title></head> 
    <body> 
<?php 
    for($i=0; $i<10; $i++) { 
    echo "\t\t<div>$i;</div>\n"; 
    } 
?> 
    </body> 
</html> 

или гнездо и отступ PHP/HTML код таким образом, что выход с отступом красиво. (Извините за уродливые например :)

<html> 
    <head><title>...</title></head> 
    <body> 
<?php for($i=0; $i<10; $i++) { ?> 
    <div><?php echo $i; ?></div> 
<?php } ?> 
    </body> 
</html> 
6

Если есть относительные большие блоки HTML вы выводя то синтаксис Heredoc поможет форматировать HTML, как вы хотите witout потрудившись много о закладках эха с помощью PHP.

$html = <<<HTML 
<html> 
    <head><title>...</title></head> 
    <body> 
    <div>$phpVariable</div> 
    </body> 
</html> 
HTML; 

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

0
<html> 
    <head><title>...</title></head> 
    <body> 
<?php for($i=0; $i<10; $i++) { ?> 
    <div><?php echo $i; ?></div> 
<?php } ?> 
</body> 
</html> 

На самом деле это хороший пример, но в этом случае лучше использовать альтернативный способ делать вещи

<html> 
    <head><title>...</title></head> 
    <body> 
<?php for($i=0; $i<10; $i++): ?> // notice the colon 
    <div><?php echo $i; ?></div> 
<?php endfor; ?> 
</body> 
</html> 

Reference

Смежные вопросы