PHP在包含html文件之前添加空文本节点

时间:2012-04-30 17:58:33

标签: php

我正在使用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>

这很成问题,因为它破坏了内容组成。这有什么解决方案吗?

3 个答案:

答案 0 :(得分:5)

FSou1是正确的,它是charset,也可以通过保存为UTF-8而无需BOM来解决:

  1. 在Notepad ++中打开PHP inlcude文件(在此处下载:http://notepad-plus-plus.org/
  2. 选择编码 - &gt;在没有BOM的情况下以UTF-8编码
  3. 空节点消失。希望能帮助别人。这让我发疯了。

答案 1 :(得分:1)

我现在遇到同样的问题,找到答案时我很幸运。答案是在charset。这可能很奇怪,但是当您以UTF-8保存文件时,标记中的空白。在cp1251中的文件时,你没有这个问题。

答案 2 :(得分:0)

这是由BOM引起的第二个问题(两个小时的调试,谷歌搜索和脱毛)。 我刚刚找到了这个(仅限Windows)小型拖放程序来检查它可以删除的BOM:

   Brynt Younce

文件BOM检测器      

小巧,简单。似乎所有平台的PHP解决方案都没有测试过。 看看是否有兴趣: