我不一定确定这一点,但似乎在使用Laravel 5.1的刀片模板上使用变音符号,重音字符等时会发生奇怪的事情。
我正用一根字母敲打着墙上的一个字母,字母以ä字母结尾,无论我怎么做,我真的无法用html_entity_decode解码。
以下是我疯狂的刀片模板文件中的内容:
{{ html_entity_decode('just-another-string-ä') }}
现在,当我在浏览器窗口中渲染模板时,我显然得到了:
just-another-string-ä
但是在源代码中我有以下内容:
just-another-string-äauml;
在我的理解中,这不代表我在刀片模板中给出的字符串。
......几分钟过去......
过了一会儿,我把字符串改为:
just-another-string-ä-test
作为源代码结果,我得到了:
just-another-string-ä-test
这比我用第一个字符串得到的“几乎是双倍的”很容易解码。除了最后的字母/单词替换之外,我还注意到当我在行后的Blade模板中输入换行符时,事情按预期工作。
{{ html_entity_decode('just-another-string-ä') }}
{{-- erase this comment --}}
源代码中的所有内容都是有序的:
just-another-string-ä
我是否完全错过了这里的某些内容,或者这有点像臭虫?
答案 0 :(得分:0)
好的,我发现了这个问题,虽然不是解决方案。
在调查之后我发现它不是刀片问题。它既不是PHP也不是Apache - 它是您的浏览器。
例如,只需创建一个包含以下内容的HTML文件:
this-is-a-string-ä
对我来说(至少在Chrome中,我还没有测试过其他浏览器),这会产生与您所看到的相同的问题。如果你没有尾随换行符,那么查看源代码就会中断,但如果你有一个,那就没问题了。
所以解决方案很简单,在文件末尾启用"空白换行符"在文本编辑器中设置。无论如何你应该真的打开它,例如差异在文件末尾有一个空白行更好地触摸(它们没有看到没有的区别),这意味着,通过扩展,版本控制像Git这样的系统可以更好地处理它们。
,我已经找到了这个功能并没有真正受到伤害。我认为这几乎肯定是一个已知的问题,但我还没有看过Chrome问题跟踪器或任何东西。如果您确实希望深入了解它,请随意这样做。我有兴趣知道:)