2

我在处理多个 html 页面时遇到了麻烦。我有主 index.html,但它开始有点太复杂了,所以我决定将它拆分为多个 html 文件,并使用 php 将每个文件导入单个 index.php。

index.php 文件

<?php
include('head.html');
include('header.html');
include('slideshow.html');
include('pictureGalery.html');
include('footer.html');
include('closer.html');
?>

使用我发现的 Google Chrome 开发人员工具,php 还包括一些空格(你可以在 div 标题、内容、容器等之间的图片中看到它们......通过谷歌搜索,我发现了一些关于这个问题的 arciles,比如:

我也尝试导入 reset.css 文件(http://meyerweb.com/eric/tools/css/reset/),但它也没有工作。似乎对我有用的唯一方法发布cebasso ( https://stackoverflow.com/a/14362246/1784053 )。但我觉得这种方式有点过于激进和缺乏效果。

任何其他想法如何解决这个问题?

在此处输入图像描述

4

3 回答 3

0

然后,最终这是由包含的文件上的意外 BOM 引起的: 为了将来参考,我只是简单地发布了 PHP 用于检查的代码。

print_r(array_map('dechex', array_map('ord', str_split(file_get_contents("xxxxxxxxxxxxx.html"))))); 

我肯定更喜欢使用Notepad++或其他软件来保存非 BOM版本,但如果仍然更喜欢使用 PHP 来删除它们,只需使用: 这会在每次执行时永久删除文件中的前 3 个字符,因此只运行一次。

$filename="xxxxxxx.html";
$filec = file_get_contents($filename);
file_put_contents($filename,substr($filec, 3, strlen($filec)));

希望它有所帮助 :D 祝你好运!

于 2013-09-12T21:48:37.030 回答
0

我有同样的问题。但是当我看到BOM字符时,我想到了一个解决方案。我不确定,但这些字符用于utf-8编码。我将包含的文件保存为ansi并解决了问题。encode in utf-8 without BOM在 Notepad++ Thanx中也可以正常工作

问候

于 2013-11-03T19:31:17.077 回答
-1

我会仔细查看您包含的文件。确保每个文档的顶部或底部没有空白。空格不会被php忽略,肯定会被包括在内。

于 2013-09-12T21:57:37.103 回答