Я пишу PHP-инфраструктуру прямо сейчас и столкнулся с проблемой форматирования.Как я могу оценить глубину HTML в PHP?
Мое намерение состоит в загрузке в виде нескольких файлов, скомпилировать их все вместе и выгнать их как соответствующий HTML-код. В этом процессе я намереваюсь отступать или выделяться, когда я продвигаюсь по строкам. Прямо сейчас, я использую комбинацию простых проверок для «<», «& lt /» и «/ & gt», (не мог использовать настоящий символ здесь) наряду с некоторыми синтаксическими анализами XML для достижения этого, но я уверен что есть лучший способ сделать это.
Сейчас мой код дает мне что-то вроде этого:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Your Sitename - Module - Index</title>
<link rel="stylesheet" href="layout/layout/default/css/styles.css" type="text/css" />
<link rel="stylesheet" href="php/plugins/MoviePlayer/windows/IE/Silverlight/css/silverlight.css" type="text/css" />
<script type="text/javascript" src="js/Cookies.js"></script>
<script type="text/javascript" src="js/GlobalReady.js"></script>
<script type="text/javascript" src="js/PluginDetection.js"></script>
<script type="text/javascript" src="js/Silverlight.js"></script>
<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="js/jquery.flow.1.2.js"></script>
<script type="text/javascript" src="layout/layout/default/js/LayoutInit.js"></script>
<script type="text/javascript" src="php/plugins/MoviePlayer/windows/IE/Silverlight/js/SLPlayer.js"></script>
<script type="text/javascript" src="php/plugins/MoviePlayer/windows/IE/Silverlight/js/wmvplayer.js"></script>
</head>
<body onLoad="javascript: GlobalReady();">
<div id="container">
<div id="header">
</div>
</div>
</body>
</html>
Который немного от того, что я пытаюсь достичь.
Я не специалист по регулярному выражению; или пользователь, и я предполагаю, что я мог бы достичь этого таким образом, но не знал бы, как это сделать.
Фактически, мой вопрос в том, что; как бы вы подошли к форматированию этого правильно (программно), если бы вы печатали его по одной строке за раз? Есть ли библиотека, которая могла бы идентифицировать все элементы в одной строке, независимо от их связи с более поздним элементом?
Если нет, то я уверен, что буду писать новый класс, чтобы справиться с этим самостоятельно.
Я пытаюсь добиться чего-то вроде этого:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Your Sitename - Module - Index</title>
<link rel="stylesheet" href="layout/layout/default/css/styles.css" type="text/css" />
<link rel="stylesheet" href="php/plugins/MoviePlayer/windows/IE/Silverlight/css/silverlight.css" type="text/css" />
<script type="text/javascript" src="js/Cookies.js"></script>
<script type="text/javascript" src="js/GlobalReady.js"></script>
<script type="text/javascript" src="js/PluginDetection.js"></script>
<script type="text/javascript" src="js/Silverlight.js"></script>
<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="js/jquery.flow.1.2.js"></script>
<script type="text/javascript" src="layout/layout/default/js/LayoutInit.js"></script>
<script type="text/javascript" src="php/plugins/MoviePlayer/windows/IE/Silverlight/js/SLPlayer.js"></script>
<script type="text/javascript" src="php/plugins/MoviePlayer/windows/IE/Silverlight/js/wmvplayer.js"></script>
</head>
<body>
</body>
</html>
Благодаря загодя.
Форматирует все сразу опцию? Если это так, я бы использовал HTML_TIDY. – alexn
Как вы получаете такой код? Что это порождает? –
Форматирование всего сразу не вариант, спасибо за вопрос. Прямо сейчас я запускаю свой «окончательный» вывод по строкам, и, столкнувшись с PHP внутри указанного контента, я все это собираю и оцениваю. Всякий раз, когда я печатаю внутри файла содержимого или нет, в настоящее время я ссылаюсь на метод «layout-> writeline», который отслеживает отступ; просто не так фантастично. – DigitalJedi805