2010-08-01 35 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