这是我的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,但有没有办法阻止">
"标记转换为其相应的符号">
"?如果是,如何?
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
时,才需要这些。