変数animalsにHTMLの雛形を作っておいて、ホイールした時に雛形内の変数を反映させたいです。

構文

if(x == 0) {
    $animals = '<div>' . $lion . '</div>';
    for($i=0; $i<5; $i++) {
      $lion = 'ライオン';
      echo $animals;
    }
}

理想

<div>ライオン</div>
<div>ライオン</div>
<div>ライオン</div>
<div>ライオン</div>

結果

<div></div>
<div></div>
<div></div>
<div></div>

です

すみません、質問の説明の仕方がとても下手くそなんですが、実際は
$animalsには100行のHTML、PHP関数が書いてあります。
$lionにはwhile文の際に実行されるthe_content()によって$animalsの内容を反映することができます。

$animalsには100行を20回ほどループするので無駄が多くサイトM3-2XLARGEのスペックでも速度が重くなっています。

そこであらかじめテンプレートを作成しておいて、whileでループしても既に書き込まれたものを反映させるだけなので、この方法を探しています。