小弟我遇到一个问题
index.php 的一开头若有一个 <?php require_once('a.php'); ?> 的话
会自动引入一个换行,导致我排版错误。
大家可以直接拿下面的code去run看看
我的浏览器:google chrmoe, IE9, FireFox10.0.2(不会有这问题)
==================================
EXAMPLE
==================================
[index.php]
<?php require_once('a.php'); ?>
<html>
<head>
<title>abc</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="wrapper">
abcde<br />
</div>
</body>
</html>
==================================
[style.css]
body {
text-align: center;
margin: 0;
padding: 0;
background-color: #800080;
}
.wrapper {
width: 1000px;
margin: 0 auto;
text-align: left;
background-color: #C0C0C0;
}
==================================
[a.php]
<?php
define('AB', '1');
?>
==================================
产出的原始码
<html>
<head>
<title>abd</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="wrapper">abcde<br />
</div>
</body>
</html>
==================================
问题:
我需要用到 "a.php"
可是一开头的 require_once 会引入一个非预期的「换行」
该如何把这个非预期的换行给挪掉呢?
或者我该换用甚麽其他语法吗?
感激不尽 !
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.78.106
1F:推 kerash:a.php 的内容是?另外html前面的一行拿掉? 04/14 21:29
2F:推 bibo9901:看看a.php是不是有输出.. 04/14 21:30
3F:→ bibo9901:<html>前面那个空行应不致影响排版 04/14 21:31
4F:→ kerash:有时就怕很玄...所以才尽量能避免的就避掉 囧" 04/14 21:33
5F:→ tkdmaf:BOM??? 04/14 21:34
6F:→ ontario:a.php只有定义define(常数, ...)耶 ... 04/14 21:34
7F:→ tkdmaf:你把档案全部都设定成无bom模式看看。 04/14 21:35
8F:→ ontario:要怎麽设呢?会有甚麽影响? 04/14 21:36
9F:→ ontario:多书来的这一行位在<body>和<div id="wrapper">之间... 04/14 21:37
10F:→ ontario:sorry, 是class="wrapper" ... 笔误 04/14 21:37
11F:→ ontario:<html>前的那一个空白行也有拿掉了 04/14 21:38
12F:→ ontario:我做的实验是,拿掉和留着require_once,会多一行 04/14 21:38
13F:推 kerash:所以不管有没有都会多一行吗? 04/14 21:43
14F:→ ontario:没有require_once,就不会多一行 04/14 21:45
15F:推 kerash:贴出你的 a.php 里面的内容看看吧 04/14 21:46
16F:→ ontario:有require_once的话,就会多一行在<body>和wrapper之间 04/14 21:46
17F:→ ontario:a.php里面都是定义常数的语法。例:define('AB','1'); 04/14 21:47
※ 编辑: ontario 来自: 118.168.78.106 (04/14 21:57)
18F:推 kerash:能把网页贴上来看看吗?其实在中间出现有点神奇@@" 04/14 21:54
19F:推 dio833:多一行是指最後产出的HTML原始档多一个<br>还是多一个"\n"? 04/14 21:54
20F:→ ontario:我有设定不同颜色,可以拿上面完整的code试试看 04/14 21:57
21F:→ dio833:如果真的找不到,就HTML换成echo "<body><div class=.."; 04/14 21:58
22F:→ ontario:我是用chrome的「检查元素」发现的...不清楚是<br>还是\n 04/14 22:02
23F:推 kerash:我看好像是 \n.... br就会是br ... QQ 04/14 22:03
24F:→ kerash:测试确认了,是\n,那是因为你 abc 跟 div 不同行 04/14 22:04
25F:→ kerash:解答就是误会一场XD 04/14 22:04
26F:→ dio833:我试过了正常耶,你可否把产出的的HTML原始码贴出来 04/14 22:04
27F:→ kerash:突然看到原PO你写会导致排版错误 ... 如果会错应该不会是\n 04/14 22:05
28F:→ kerash:才对啊... @@ 04/14 22:05
29F:→ dio833:楼上说的对,是误会一场的可能很大 04/14 22:07
30F:→ ontario:abc 跟 div 不同行,我这边测试没影响耶 ... 04/14 22:07
※ 编辑: ontario 来自: 118.168.78.106 (04/14 22:11)
31F:→ kerash:那就照 dio 说的,把你看到的原始码贴出来,顺便拍你出现的 04/14 22:09
32F:→ kerash:画面看看@@.. 因为怕真的是误会 04/14 22:09
33F:→ dio833:你的意思是不同浏览器结果也会不同?那就跟Server端没什麽关 04/14 22:13
34F:→ ontario:产出原始码重编在上面了。 04/14 22:13
35F:→ dio833:系了,你要不先加<!DOCTYPE html PUBLIC..... 这个在第一行 04/14 22:14
36F:→ dio833:你把你的产出原始码放到Server端,用不同浏览器执行看看@@ 04/14 22:18
37F:→ MOONRAKER:PHP大猜谜 我投BOM一票 :D 04/14 22:58
38F:→ ontario:dio833...也试过了...一样耶 04/14 23:21
39F:→ dio833:影片我看了,你不该用Developer Tools来看,要看的是生成的 04/15 00:20
40F:→ dio833:原始码,透过developer tools看的东西,是经过整理过後的 04/15 00:20
41F:→ dio833:这样很容易造成鸡同鸭讲的状况,你应该是透过php生成的原始 04/15 00:21
42F:→ dio833:HTML程式拿来找问题,而不要聚焦在DOM工具上,所有的DOM都 04/15 00:22
43F:→ dio833:有一定的容错性跟解读HTML的方式,你的重点要摆在php将你的 04/15 00:23
44F:→ dio833:纯文字档改变了什麽!也就是你讲两次结果的纯文字档拿来比较 04/15 00:24
45F:→ dio833:,看看两个纯文字档差别在哪里,再透过差别去判断问题。 04/15 00:26
46F:→ ontario:....请问,该怎麽看呢?sorry~我是自学的~有点弱XD 04/15 00:30
50F:→ MOONRAKER:我以前被DOM婊到两次 第一次在php里 第二次更玄在gif里 04/15 01:20
51F:→ MOONRAKER:第一次我把输出档案save as存下来用hex editor看 04/15 01:22
52F:→ MOONRAKER:第二次我把gif拿来用hex editor看 所以-就是这样! 04/15 01:22
53F:推 kerash:用notepad++ 开起来後,编码有uft-8 NO BOM,再另存 04/15 10:02
54F:→ kerash:这是如果有遇到楼上说的BOM时可以测试的方法之一~ 04/15 10:03
55F:→ ontario:按照kerash的notepad++方法测试,我的问题解掉了! 04/15 12:51
56F:→ ontario:所以真的是因为看不见的"东西"造成的"编译"错误?! 04/15 12:52
57F:→ ontario:有建议的Hex Editor吗?(我查到Hex Editor XVI32推吗? 04/15 12:54
58F:→ ontario:还有,档首「有BOM」改成「无BOM」後,会有其他影响吗? 04/15 13:11
59F:→ ontario:google一下後,只能说真的好复杂...有较简洁的叙述吗? 04/15 13:12
60F:→ ontario:谢谢所有热心的各位,受小弟一大拜! 04/15 13:12
61F:推 tkdmaf:其实这问题我很久以前就遇过,所以一开始就觉得是bom。 04/15 13:43
62F:→ MOONRAKER:任何hex editor都可以,能看的就好了。绝不要把BOM直接 04/15 15:17
63F:→ MOONRAKER:修掉,用文字editor转换就可以。我都用total commander 04/15 15:18
64F:→ MOONRAKER:赠送的viewer。 04/15 15:18
※ 编辑: ontario 来自: 219.84.60.175 (04/16 13:22)
65F:→ ontario:非常感谢各位!希望以後有遇到类似问题者可以参考这儿。 04/16 13:23
66F:嘘 pptsodog:ㄏ 05/21 16:31