包含php文件时,html文件中出现奇怪的字符

时间:2011-03-30 19:52:55

标签: php html

vars.php

<?php 
   $sometext="text";
?>

的index.php

     <?php 
include ('file1.php');
include ('variables.php');
 function genStr() {
    $len = 5;
    $base='ABCDEFGHKLMNOPQRSTWXYZ123456789';
    $max=strlen($base)-1;
    $str='';
    mt_srand((double)microtime()*1000000);
    while (strlen($str)<$len+1) {
     $str.=$base{mt_rand(0,$max)};
    }   
    return $str;
 }


if(isset($_POST['submit'])){
//processing
}?>
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <title>title</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <meta name="title" content="title" /> 
        </head>
        <body>
        </body>
        </html>

现在,当我使用firebug检查index.php页面时,标签内的所有内容都会被移入,并且添加了一些白色字符,因此浏览器中页面顶部有一个矩形。当我在firebug中删除这几个不可见的字符时,矩形消失

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
  <head></head> 
 <body>
   "  " <!-- white spaces here -->
<title>title</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<meta name="title" content=title" /> 
<body> 

3 个答案:

答案 0 :(得分:3)

您在这里错过"

<meta name="title" content=title" />

应该是:

<meta name="title" content="title" />

编辑:我能够重现的唯一方法是在doctype之前输出除空格和换行之外的任何内容。当你echo例如页面的某些内容时,php是否正常工作?

答案 1 :(得分:1)

尝试将index.php更改为:

<?php include ('vars.php');?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>...

它应删除顶部的额外行

答案 2 :(得分:0)

问题出在我使用的文本编辑器中(记事本++)。当我在PsPad中打开并保存文件时,这些字符消失了。