2010-08-01 44 views
0

我有我要把代碼使用require函數的主站點,但是當我將PHP函數添加到它時,它們顯示爲純文本。 PHP代碼很長,所以我不會在這裏粘貼。任何人都可以幫助我嗎?使用php函數解釋爲純文本php要求

感謝

確定我加入一些代碼:

要求只有一個功能部分:

<?php 
$content=<<<EOF 
echo 'hello'; 
EOF; 
require 'whatever.php'; 
?> 

和主要部分:

<?php 
echo <<<CONT 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

<html> 
    <head> 
     ... 
    </head> 
    <body id="body"> 
     <div id="container"> 
     $content 
     </div> 
     <div id="add_func"> 
     </div> 
    </body> 
</html> 
CONT; 
?> 
+0

至少把包含的代碼和*如果不是所有的輸出*摘錄* – BoltClock 2010-08-01 13:01:38

+0

爲什麼不寫一個測試代碼來重現問題? – 2010-08-01 13:17:54

回答

1

剛擺脫heredoc

需要部分

<?php 
echo 'hello'; 
require 'whatever.php'; 
?> 

主要部分

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

<html> 
    <head> 
     ... 
    </head> 
    <body id="body"> 
     <div id="container"> 
     <?php echo $content ?> 
     </div> 
     <div id="add_func"> 
     </div> 
    </body> 
</html> 

這一切
PHP不是Perl中,定界符是沒用這裏,即使正確使用。 只是從來沒有使用這種醜陋的語法。

+0

但我不得不使用echo'';在每一行? – kasper 2010-08-01 13:26:42

+0

@kasper你在這裏的每一行看到echo嗎? PHP可以直接輸出HTML http://www.php.net/manual/en/language.basic-syntax.phpmode.php – 2010-08-01 13:30:33

+0

對不起,壞的問題, 感謝您的回答 – kasper 2010-08-01 13:31:18

4

確保你包你的代碼在<?php.....?>的標籤。

更新:

無需使用定界符語法的你在做什麼,你可以修改你這樣的代碼:

<?php 
    echo 'hello'; 
    require 'whatever.php'; 
?> 

和:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
    <head> 
     ... 
    </head> 
    <body id="body"> 
     <div id="container"> 
     <?php echo $content; ?> 
     </div> 
     <div id="add_func"> 
     </div> 
    </body> 
</html> 
+0

是的,我已經做到了。即使簡單的要求是這樣的: <?php $ content = <<< EOF echo'hello'; EOF; 需要'... php'; ?> 給我:echo'hello';在網站 這兩個文件被包裝在 kasper 2010-08-01 13:14:19

+0

@kesper:確保在結束'EOF'前沒有空格/隱含。如果你可以在上面的問題中發佈你的代碼,它會更容易。 – Sarfraz 2010-08-01 13:16:56

+2

該代碼應該給echo'hello',你不能使用heredocs中的函數/語言結構。 – 2010-08-01 13:17:41