0

函数.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 都被弄乱了。

我的预期输出不会缩进。

4

2 回答 2

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;
于 2012-11-03T20:28:17.970 回答
1

您获得缩进输出的原因是您正在像那样回显它们......只需从 echo 语句中删除缩进即可摆脱它们

<?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 更难遵循 fut 输出将按照您的要求

于 2012-11-04T00:26:29.550 回答