我正在做一个实验,一个像SLIM或Jade这样的html预处理器.
这是似乎正确的PHP代码:
nav
ul id: "test"
li
@<?= $Var; ?>
li
@About
li
@Contact
Run Code Online (Sandbox Code Playgroud)
这是预期的预处理html(是的,$ Var =="Test"):
nav
ul id: "test"
li
@Test
li
@About
li
@Contact
Run Code Online (Sandbox Code Playgroud)
但是,在浏览器中我得到这个错误的文本作为预处理器html:
nav
ul id: "test"
li
@Test li
@About
li
@Contact
Run Code Online (Sandbox Code Playgroud)
最后,有两种方法可以使其正确.
手动添加分隔线:
nav
ul id: "test"
li
@<?= $Var . "\n"; ?>
li
@About
li
@Contact
Run Code Online (Sandbox Code Playgroud)在PHP结束标记之后写一个空格(??).
为什么是第一种情况,<?= $Var; ?>忽略关闭PHP标记后的换行符?我真的找不到任何东西,因为谷歌带来了太多的结果,为什么你应该忽略我做的每一次搜索的结束标记,而不是我想要找到的.