0

HTMLを含む文字列がありますが、PHPタグ(<?php .. ?>)も含まれています。コンパイラーに、これを単純にPHPファイルにあるかのように純粋なHTMLにレンダリングさせたいと思います。

次のようにすることで、ファイルを使用してこれを実行できることを知っています。

ob_start();
include 'my_file.php';
return ob_get_clean();

私が本当にやりたいのは次のようなものです。

$html = '<strong>1 + 1</strong> = <?php echo (1+1); ?>';
ob_start();
echo $html;
return ob_get_clean(); // should return '<strong>1 + 1</strong> = 2'

文字列を解析して評価を実行したり、文字列を一時的にファイルとして保存したりする以外に、文字列が動的に生成されたときにPHPでこれを行う方法はありますか?特権アクセスがないため、php.iniを変更できないと仮定します。

4

1 に答える 1

1
$html = '<strong>1 + 1</strong> = <?php echo (1+1); ?>';
eval("?> $html <?php");

http://php.net/manual/en/function.eval.php

"eval —文字列をPHPコードとして評価する"

于 2012-09-09T21:16:31.857 に答える