当我编写页面时,我会不断更新变量$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}}
答案 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" />');
在您的情况下可以通过在页脚部分中编写此脚本来完成。