0

我试图让变量在用于唯一divID 的模板文件中回显,但它一直输出整个字符串并忽略 php 标签。我的代码和结果如下:

评论.php:

<?php
ini_set("display_errors", TRUE);

$idOfContent = 1;
$numberOfComments = 4;

while($idOfContent<=$numberOfComments){
    $content = file_get_contents('comment_tmpl.php');
    echo $content;
    $idOfContent +=1;
}


?>

评论_tmpl.php:

<div class="Container">
    <div class="Content" id="<? echo $idOfContent ?>">
        <div class="PhotoContainer"> Image here </div>
        <div class="CommentAndReplyContainer">
            <div class="CommentBox" id="TopCommentBox_<? echo $idOfContent ?>">
                <form method="post" action="comment.php">
                    <textarea name="comment" id="<? echo $idOfContent ?>_comment" onclick="this.value='';" > Write a comment </textarea>
                    <input type="hidden" name="buttonId" value="<? echo $idOfContent ?>" />
                    <input type="submit" id="submit" value="Post" />
                </form>
            </div>
        </div>
    </div>
</div>

结果:

<div class="Content" id="<?php echo $idOfContent ?>"></div>

如何让它识别 PHP 标签并正确输出变量?

4

1 回答 1

5

file_get_contents()顾名思义,该函数将获取其中的内容,comment_tpl.php并且 echo 将其输出到 HTML 标记中,但它不会被正确地解析为 PHP 代码。我不确定您为什么要这样做,但您可能正在寻找include()

while($idOfContent<=$numberOfComments){
    include('comment_tmpl.php');
    $idOfContent +=1;
}

或者,您可以使用eval(),但这是一个非常糟糕的主意,我不推荐它。

于 2013-10-31T20:17:11.517 回答