函数如何包含空格?

时间:2014-02-22 22:47:03

标签: php

我有一点奇怪的行为。

当我插入一个函数时,我的div有空格。例如:

如果我把这个

   include ('header.php');
   $view->header_login();
   setlanguage();   // <--------this is my language function

我得到像enter image description here

这样的空间

如果我删除该功能

   include ('header.php');
   $view->header_login();
   //setlanguage(); 

我得到了这个enter image description here

  • 我的函数是否包含空格?提前谢谢。

这是我的功能

function setlanguage(){
   if(!isset($_SESSION['selectlang'])){$_SESSION['selectlang'] = 'English' ;}
   if(!isset($_GET['lang'])){$_GET['lang'] = 'english' ;}
   switch ($_GET['lang']){
   case "english" :
        $_SESSION['selectlang'] = 'English';
      include("lang/english.php");
      break;
   case "swedish" :
        $_SESSION['selectlang'] = 'Swedish';
       include("lang/swedish.php");
       break;
   case "russian":
        $_SESSION['selectlang'] = 'Russian';
       include("lang/russian.php");
     break;
   default :
        include("lang/english.php");
    }

   }

编辑:

english.php

 <?php
 define("NEW_GOOD_NAME_CONSTANT", "I have a value");
 define("Free_website", "talking website");
 define("Home", "Home");
 ?>      

2 个答案:

答案 0 :(得分:3)

同样的事发生在我身上。

我发现在使用Notepad ++时它与编码方法有关。 UTF-8 without BOM似乎有效。

但是,我找到了一个解决方法,因为我更喜欢UTF-8,它应该可以工作:

<span style="display: none"><?php include ('header.php'); ?></span><?php
$view->header_login();
setlanguage();

答案 1 :(得分:3)

english.php中,在结束?>

之后会有空格
?>          
  ^^^^^^^^^^

您不需要关闭?>,所以只需删除它,整个文件就会如下所示:

 <?php
 define("NEW_GOOD_NAME_CONSTANT", "I have a value");
 define("Free_website", "talking website");
 define("Home", "Home");

您的文件中也可能有UTF-8 BOM(字节顺序标记),您可以在UNIX / Linux机器上使用以下命令检查:

$ head -c3 sleep | hexdump -C
00000000  ef bb bf                                          |...|

如果您的输出类似于此(0xef 0xbb 0xbf),则表示存在BOM。 BOM由PHP解释为空白 在Windows上,您需要使用HEX编辑器进行检查。

删除这取决于你的编辑器,你应该找到一个设置&#34;保存BOM&#34;,或者那种效果,并禁用它。 This page还列出了一些删除BOM的方法。