相关疑难解决方法(0)

PHP结束标记删除换行符

我正在做一个实验,一个像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)

最后,有两种方法可以使其正确.

  1. 手动添加分隔线:

    nav
      ul id: "test"
        li
          @<?= $Var . "\n"; ?>
      li
        @About
      li
        @Contact
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在PHP结束标记之后写一个空格(??).

为什么是第一种情况,<?= $Var; ?>忽略关闭PHP标记后的换行符?我真的找不到任何东西,因为谷歌带来了太多的结果,为什么你应该忽略我做的每一次搜索的结束标记,而不是我想要找到的.

html php preprocessor line-breaks

9
推荐指数
1
解决办法
1364
查看次数

标签 统计

html ×1

line-breaks ×1

php ×1

preprocessor ×1