sei*_*ses 2 html byte-order-mark symfony twig
我有一个 Twig 的奇怪问题,include它在我的 HTML 上呈现一些不可见的字符。我试过用一千种不同的方式在谷歌上搜索它,但找不到任何有类似问题的人。事实上,我什至不确定它是否与 Twig 或 Symfony 或什么有关,所以我不确定我需要寻找什么。我会试试m
在我的一个视图中的两个不同点,我使用一个for循环来li通过includeing 一个单独的 twig 文件来呈现每个点,每次都使用一组不同的参数。这两个循环是:
<ul class="search-results">
{% for entity in entities %}
{% include 'SomeBundle:Users:renderUserResults.html.twig' with {'entity':entity, 'callType':0} %}
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
和
<ul class="search-results">
{% for entity in entities %}
{% include 'SomeBundle:Users:renderUserResults.html.twig' with {'entity':entity, 'time_search':time_search, 'time_meeting_search':time_meeting_search} %}
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
的明显相关内容renderUserResults.html.twig只是:
{% set role = common.roleClass(entity.type)|trim %}
<li class="{{ role }}">
// a bunch of html
</li>
Run Code Online (Sandbox Code Playgroud)
然而,生成的代码在两种情况下都有一个奇怪的区别。在第一个中,所有li元素都很好地生成,一个接一个,它们之间只有一些被浏览器忽略的空格。但在第二个状态,Chrome Web检查显示了一些不收缩空间之前每一个li,就像这样:

当右键单击其中一个空格并选择“编辑为 HTML”时,会出现这个红点:

该空间防止每个的顶部和底部边距li折叠(lis 呈现为一列框),因此创建了我不想要的额外空间。我无法显示渲染列表的屏幕截图,所以我希望我提供了足够的信息。
所以最重要的是,我需要摆脱那些红点,但我不知道为什么或在哪里创建它们。如您所见,这两种情况的唯一区别是随 include 传递的参数集,但我看不出这会如何导致出现奇怪的字符。我已经尝试{% spaceless %}在任何地方使用标签,并手动删除树枝文件中的所有空格和换行符,但它们都不起作用。手动删除 web 检查器中的红点会使 html 标签之间的所有空格再次折叠,但这当然不是一种选择。