0

一意の ID に使用されるテンプレート ファイル内でエコーされる変数を取得しようとしていますdivが、文字列全体を出力し続け、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;
}


?>

comment_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 に答える