html/php 文件 + css 内联问题

html/php file + css inlining issues

这是我的 php 文件,index.php

<html>
   <div id='hello'>Hello, <?php $name?>! How are you?</div>
</html>

这是我的 css 文件,index.css

<style>
   #hello {
       font-size: 36px;
       color: red;
       border: 1px solid red;
   }
</style>

我正在尝试使用库 https://github.com/tijsverkoyen/CssToInlineStyles 将我的 index.php 文件转换为内联 css。问题是,它将关闭 php 标签 '?>' 转换为 '?>' 作为结束标签。我知道图书馆的目标是 HTML 而我的文件是 .php,但是有没有办法阻止 '>' 标签被转换成它各自的符号 '&gt'?如果是,怎么做?

不,它(应该)为您转义这些字符。您的 css 文件永远不应包含 html.

删除 <style></style> 标签,它应该可以工作。只有在将 css 放入 html.

时才需要这些

index.css 应该只包含:

#hello {
  font-size: 36px;
  color: red;
  border: 1px solid red;
}

<style> 是一个 HTML 标签,它 不应该 出现在 .css 文件中。如果您将它们放在 .css 文件中,整个文件将无法工作。

对于您发布的内容,简短的回答是否定的。至少在不调整库的情况下(正如您所指出的,它适用于 HTML 个文件)。

如果您真的(真的)需要动态执行 "conversion"(如 "each time the page is requested"),您可以在客户端通过使用一些 JavaScript。 (see here).

如果您只需要转换一次,然后将输出文件保留为服务器资源,您可以使用模板 pre-processing。

我不确定您为什么要转换为内联 css,也许如果您解释得更多一点,我们可以为您指明正确的方向。

G00d 1uck.

[更新] 所以转换应该是动态的。一种方法是(而不是使用包含 HTML 代码和嵌入回显 PHP 值的 PHP 文件)将所有 html + PHP 'echoed' 到一个字符串变量中,然后将结果作为流(或作为实际的临时文件)注入转换器,等待输出并通过电子邮件发送。