为什么我的Laravel应用将html标签输出为字符串

时间:2019-04-12 23:06:52

标签: php laravel

我是Laravel的新手,正在尝试从以下站点复制代码:Create your first laravel app,但是html标签会以字符串而不是标签的形式回显。

我正在使用的网站使用以下内容:

<span class="nt">&lt;th&gt;</span>

,我不知道它做什么。例如,原始的@foreach行是:

@foreach($characters as $key =&lt; $value)

Laravel解释为

<?php $__currentLoopData = $characters; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $key =&gt; $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>`. i had to change =&lt; to => for the code to run..attached below is the welcome.blade.php code and a screenshot 




            @if(Auth::check())
              <span class="c">&lt;!-- Table --&gt;</span>
              <span class="nt">&lt;table</span> <span class="na">class=</span><span class="s">"table"</span><span class="nt">&gt;</span>
                  <span class="nt">&lt;tr&gt;</span>
                      <span class="nt">&lt;th&gt;</span>Character<span class="nt">&lt;/th&gt;</span>
                      <span class="nt">&lt;th&gt;</span>Real Name<span class="nt">&lt;/th&gt;</span>
                  <span class="nt">&lt;/tr&gt;</span>
                  @foreach($characters as $key => $value)
                    <span class="nt">&lt;tr&gt;</span>
                      <span class="nt">&lt;td&gt;</span>{{ $key }}<span class="nt">&lt;/td&gt;&lt;td&gt;</span>{{ $value }}<span class="nt">&lt;/td&gt;</span>
                    <span class="nt">&lt;/tr&gt;</span>
                  @endforeach
              <span class="nt">&lt;/table&gt;</span>
            @endif


    <span class="nt">&lt;/div&gt;</span>
    @if(Auth::guest())
      <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"/login"</span> <span class="na">class=</span><span class="s">"btn btn-info"</span><span class="nt">&gt;</span> You need to login to see the list &gt;&gt;<span class="nt">&lt;/a&gt;</span>
    @endif
<span class="nt">&lt;/div&gt;</span>
<span class="nt">&lt;/div&gt;</span></div>
@endsection.

screenshot

1 个答案:

答案 0 :(得分:4)

那看起来不对。我猜这是auth0网站上的格式错误。

如果您在它们提供的repo中查看了该视图模板,则其中不包含&lt&gt等。

诸如"nt""c"之类的CSS类是用于对auth0帖子中的代码进行语法高亮显示的类。例如,在下面的屏幕快照中,您将看到"nt"类应用于span元素的位置,其中在正确渲染的部分代码中显示了div标签。

Screenshot of syntax highlighted code on auth0 post

您看到的&lt;&gt;强制浏览器将<>渲染为文本。相反,如果自己使用字符<>,则浏览器会将它们解释为html元素。

但是,在这种情况下,在您将代码发送回浏览器之前,您在auth0端发布的代码部分似乎存在格式错误。