我正在使用php作为模板引擎,我注意到当我包含视图文件时,在该视图的内容之前添加了空文本节点。
例如,我有要包含的html文件,其中包含以下内容:
<p>Some text</p>
比我包含这样的文件:
<div><?php require_once('file/path.htm'); ?></div>
(注意我已经删除了div和php之间的任何空格)并且在php包含文件后,他添加了空文本节点(我将标记为“”),它在p标签之前添加了空格,所以我得到类似的东西这样:
Some previous content...
<div>
"" //empty text node
<p>Some text</p>
</div>
这很成问题,因为它破坏了内容组成。这有什么解决方案吗?
答案 0 :(得分:5)
FSou1是正确的,它是charset,也可以通过保存为UTF-8而无需BOM来解决:
空节点消失。希望能帮助别人。这让我发疯了。
答案 1 :(得分:1)
我现在遇到同样的问题,找到答案时我很幸运。答案是在charset。这可能很奇怪,但是当您以UTF-8保存文件时,标记中的空白。在cp1251中的文件时,你没有这个问题。
答案 2 :(得分:0)
这是由BOM引起的第二个问题(两个小时的调试,谷歌搜索和脱毛)。 我刚刚找到了这个(仅限Windows)小型拖放程序来检查它可以删除的BOM:
Brynt Younce文件BOM检测器
小巧,简单。似乎所有平台的PHP解决方案都没有测试过。 看看是否有兴趣: