-1

データベースからコンテンツを呼び出す変数があります。サンプルは以下のとおりです。

$content = '<div><h1>content here</h1>
<img src = 'image.jpg' /><br />

[code]echo 'welcome';[/code]

<h2>some content here</h2>
<p> some large content here</p>

[code]echo 'Click Here';[/code]

Thank you.';

echo 'headers here' .$content . 'footers here';

[code]タグと[/code]タグの間のコンテンツに対してPHPを実行するにはどうすればよいですか?残りのテキストは、htmlexecptとして[code]いくつかのphpコード[/code]タグで使用されるコードとして記述されます。

4

1 に答える 1

1

これがあなたのサイトのテンプレートタイプのシステムの場合は、別のルートを使用することをお勧めします。

まず、上記のコードが変更され、コード間の部分が次のようになります。

[code]{{msg}}}[/code]

これで、必要に応じてphpコードとしてデータベースにデータを保存できますが、データベースに配置する前に評価する方が理にかなっていますが、それ以外の場合は、検索/置換システムを使用することを強くお勧めします。

ここで、次のことを行う関数が必要になります。

function output_template( $name, $data ) {
    $template_string = get_template_from_db( $name );
    for( $data as $k )
    {
        $template_string = str_replace( $k, $data[$k], $template_string );
    }
    return $template_string;
}

次に、この関数の戻り値をエコーアウトできます。evalを使用する必要があると思われる場合は、特にテンプレートシステムのように見えるものについて、実行していることを再考してください。

于 2012-07-20T15:20:31.477 に答える