在页脚中写入时更新php变量

时间:2014-07-25 09:49:59

标签: php html css variables

当我编写页面时,我会不断更新变量$links。这是指将放置在html页面的<head>部分的css链接。

但是当我在页面的底部,并且我已经获得$links的最终值时,我希望它写在<head>而不是在str_replace的末尾。页。

我用<head> <?php echo $links; ?> </head> <body> <?php include 'gallery.php'; $links .= <link type="text/css" href="/css/lightbox.css">; ?> </body> 尝试过,但只是把它写在底部..

php看起来像这样:

{{1}}

2 个答案:

答案 0 :(得分:2)

我同意关于将逻辑与视图分离的评论,在理想的情况下,当您编写页面时,您已经收集了所有信息......

但是,作为一个不涉及太多重构的快速修复,您可以使用输出缓冲:

<?php ob_start(); ?>
<head>
    PLACEHOLDER_LINKS
</head>
<body>
    <?php
        include 'gallery.php';
        $links .= <link type="text/css" href="/css/lightbox.css">;
    ?>
</body>
<?php 
$html = ob_get_clean();
$html = str_replace( "PLACEHOLDER_LINKS", $links, $html);
echo $html;

我确实建议你研究实现它的MVC模式和框架......它可以节省很多这样的麻烦;)

答案 1 :(得分:0)

不确定这是否正确,只是为了您的信息。您还可以使用javascript包含css文件。

JS

$('head').append('<link rel="stylesheet" href="css/xyz.css" type="text/css" />');

在您的情况下可以通过在页脚部分中编写此脚本来完成。