html/php-file+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标记"?>'到'&结束标记的"gt"。我知道库的目标是HTML,我的文件是.php,但有没有办法阻止">"标记转换为其相应的符号"&gt"?如果是,如何?

index.css应仅包含:

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

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

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

如果你真的(真的)需要动态地进行"转换"(如"每次请求页面时"),你可以在客户端通过使用一些JavaScript操纵DOM来完成。(请参见此处)。

如果只需要进行一次转换,然后将输出文件作为服务器资源,则可以使用模板预处理。

我不知道你为什么要转换为内联css,也许如果你再解释一下,我们可以为你指明正确的方向。

G00d 1 uck。

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

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

删除<style></style>标签,它应该可以工作。只有在将css放入html时,才需要这些。