我现在正在编写一个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>
提前致谢。
答案 0 :(得分:2)
加载一些文件,将它们连接成一个字符串,然后使用 tidy
格式化它们。
但是,生成HTML的代码很可能是一个问题,应该修复它,而不是输出格式错误的代码并在以后修复它。