的functions.php
<?php
function global_header($page)
{
echo "
<!doctype html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>" . $page . "</title>
<meta name='description' content='BTI320 Assignment 2' />
</head>
<body>
";
}
?>
<?php
function global_footer()
{
echo "
</body>
</html>
";
}
?>
当我在chrome / FF中查看我的页面源时,我得到以下来源:
<!doctype html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>Add</title>
<meta name='description' content='BTI320 Assignment 2' />
</head>
<body>
</body>
</html>
它缩进了大约3个标签。是否有PHP条带功能或可以正确对齐的东西?我不喜欢我的整个页面HTML搞砸了。
我的预期输出是不缩进的。
答案 0 :(得分:1)
考虑使用模板引擎。直接输出HTML字符串被认为是不好的做法。
如果您不想使用第三方模板引擎,您可以从这样的简化模板中获益:
page.tpl
模板文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset='utf-8' />
<title>{{title}}</title>
</head>
<body>
{{body}}
</body>
</html>
<强> PHP:强>
// Loading HTML code that does not contain any undesired whitespace.
$code = file_get_contents('page.tpl');
// Replacing template variables with their values.
$code = str_replace(
array(
'{{title}}',
'{{body}}'
),
array(
'Example title',
'Page body'
),
$code
);
// Outputting resulting HTML code.
echo $code;
答案 1 :(得分:1)
你得到缩进输出的原因是你正在回应它们...... 只需从echo语句中删除indentaions即可删除它们
<?php
function global_header($page)
{
echo "
<!doctype html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>" . $page . "</title>
<meta name='description' content='BTI320 Assignment 2' />
</head>
<body>";
}
?>
<?php
function global_footer()
{
echo "
</body>
</html>";
}
?>
这使得你的php更难以按照你的要求跟随输出