Альтернатива PHP Tidy только для вывода с отступом табуляции

Есть ли альтернатива PHP Tidy только для вывода HTML с отступом табуляции? Последнее мне нужно для целей разработки/отладки только для просмотра сгенерированного выходного кода. Хотя, как бы я ни пытался настроить Tidy для этой простой задачи, я не мог не предотвратить другие изменения.


person Gajus    schedule 13.07.2012    source источник
comment
Я думаю, что можно дополнить ваш вопрос конфигурациями Tidy и/или примером программного обеспечения (черного ящика), выполняющего ту же работу. К такого рода программам относятся codeType-beautifier (JS-beautifier для javascript, HTML-beautifier для HTML и т.д.). Пример Google: digitalcoding.com/tools/html-beautifier.html   -  person Peter Krauss    schedule 21.08.2012
comment
PHP Tidy — хороший вариант для этой задачи, потому что распознает любой шаблон (X)HTML и работает быстрее, чем PHP-программа... Ваша проблема порождает еще один параллельный вопрос (возможно, без вознаграждения): Кому настраивать PHP Tidy только для таб- отступ HTML без побочных эффектов?   -  person Peter Krauss    schedule 21.08.2012
comment
Какие конфигурации вы пробовали? Не могли бы вы привести примеры вашего вклада и ожидаемого результата, пожалуйста?   -  person Homer6    schedule 24.08.2012


Ответы (5)


Я всегда использую jsbeautifier. Хотя это не соответствует моим стандартам с javascript, отступы html потрясающие.

РЕДАКТИРОВАТЬ: Прежде чем понизить голосование, обратите внимание, что jsbeautifier имеет открытый исходный код и имеет порты на нескольких языках, все на стороне сервера: https://github.com/einars/js-beautify

person Korvin Szanto    schedule 13.07.2012
comment
Я ищу решение на стороне сервера. - person Gajus; 13.07.2012
comment
Пожалуйста, посмотрите на мое редактирование, jsbeautifier — это решение на стороне сервера. - person Korvin Szanto; 13.07.2012
comment
@Парень, это может тебя заинтересовать github.com /einars/js-beautify/blob/master/php/test.php#L6 в jsbeautifier, +1 за это кстати - person Adi; 13.07.2012
comment
Единственное, чего я не понимаю, — как это должно работать для HTML? github.com/einars/js-beautify/blob/master/ php/test.php не дает ни одного примера, и это не ясно из самого класса. - person Gajus; 13.07.2012
comment
Ops, JS Beautifier, как следует из названия, предназначен только для JS. Не для HTML (см. текст вопроса). $result = $jsb-›beautify('ваша строка javascript'); - person Peter Krauss; 21.08.2012
comment
В то время я не знал, что html-украшающий аспект библиотеки не был портирован: S - person Korvin Szanto; 12.09.2012

Спустя два года до сих пор нет библиотеки для создания отступов при выводе HTML без использования реализаций, основанных на DOM API (т.е. Tidy и т.п.).

Я разработал библиотеку, которая токенизирует ввод HTML с помощью регулярного выражения. Ни один из элементов HTML не изменяется, кроме добавления необходимого интервала для отступа.

https://github.com/gajus/dindent

person Gajus    schedule 24.02.2014

Вы можете попробовать библиотеку htmLawed. Это аккуратная альтернатива PHP. Если вам просто нужна функция отступа, вы можете использовать код для hl_tidy библиотеки.

// indent using one tab per indent, with all HTML being within an imaginary div
$out = hl_tidy($in, 't', 'div')
person user594694    schedule 10.08.2012

Я использую LogicHammers HTMLFormatter, за который нужно платить, но он стоит каждой копейки. Используйте его для форматирования html, прежде чем смотреть на него, и это сделает его намного проще.

person Toby Allen    schedule 18.08.2012
comment
Этот вопрос касается проблемы программирования, а не программного решения. - person Gajus; 18.08.2012

Хотя это не точный ответ, посмотрите, поможет ли это вам. Я использую netbeans, и чтобы сделать код с отступом, я просто щелкаю правой кнопкой мыши и форматирую код. Если вы используете любую другую IDE, найдите похожую функциональность или, возможно, вы можете импортировать ее с помощью сторонних плагинов.

person Kiran Ambati    schedule 25.08.2012
comment
Этот вопрос касается проблемы программирования, а не программного решения. - person Gajus; 25.08.2012