将外部php样式表的内容存储在html中


Storing the contents of an external php stylesheet in html

我有一个php文件被用作动态样式表。所以它是一个非常大的文件,由php生成的css/值。下面是一个例子。

<?php
header("Content-Type: text/css");
?>
.top {
    top: <?= $topValue ?>px;
}
More css...

在一个单独的文件上,我试图从php文件中获得生成的内容,并将其存储在页面上的某个地方,这样我就可以用javascript稍后得到它。所以我尝试的方法是将内容存储在一个隐藏的输入。一样。

<?php
$file = file_get_contents("FILE_URL.php");
?>
<input type="hidden" name="hidden-css" value="<?= $file ?>" />

但是,当我这样做时,该值包含文件中的原始php,并且还注释掉了php的开始/结束标记。例如,它会做'"而不是"?>"。这会使页面上的一般html混乱,并且不能在输入中正确地存储值。

所以我问你,我怎样才能解决当前的情况或更好地存储在页面上的样式表的内容,以便我以后可以抓住它,并使用它与javascript?

EDIT:也可能有一个问题,在生成的css引号导致问题。我也不知道如何解决这个问题。

EDIT:如果一切正常,这就是它应该如何存储的。

<input type="hidden" name="hidden-css" value="
.top {
top: 54px;
}
" /> 

您不能将file_get_contents()函数用于此目的-它只是获取文件内容(即它不会首先在该文件上运行PHP)。

相反,正如user574632所建议的,您必须使用include,因此您的代码将看起来像这样:

<input type="hidden" name="hidden-css" value="<?php include 'FILE_URL.php'; ?>" />


希望这能解决你的问题。


(另一个快速注意事项:如果您的主文件是HTML而不是CSS,您可能需要在输入后再次声明内容头,如下所示:

<?php header('Content-Type: text/html; charset=utf-8'); ?>

)