$string = ($test === TRUE) ? 'lala' : 'falala';
(私はあなたが正しく書いたものを読んでいる場合)あなたがしようとしているように見える何をする方法はたくさんあります。上記は三項である。条件がtrueの場合、$ stringは 'lala'に設定され、それ以外の場合は 'falala'に設定されます。
あなたが書いたことを文字通り尋ねる場合は、eval()関数を使用します。渡された文字列を受け取り、それがPHPコードであるかのように実行します。 <?php ?>
タグは含めないでください。
function dropAllTables() {
// drop all tables in db
}
$string = 'dropAllTables();';
eval($string); // will execute the dropAllTables() function
[編集]
あなたはすべてのPHPコードを検索するには、次の正規表現を使用することができます。
preg_match_all('/(<\?php)(.+?)(\?>)/', $string, $php_code, PREG_OFFSET_CAPTURE);
の$ php_codeは、$ php_codeは、[0]を返します配列となりますコード+ <?php ?>
タグのすべての一致の配列。$ php_code [2]は、実行するコードだけの配列になります。
ので、
$string = "array has <?php count(array('lala')); ?> 1 member <?php count(array('falala')); ?>";
preg_match_all('/(<\?php)(.+?)(\?>)/', $string, $php_code, PREG_OFFSET_CAPTURE);
echo $php_code[0][0][0]; // <?php count(array('lala')); ?>
echo $php_code[2][0][0]; // count(array('lala'));
これは、あなたが何をしたいのための助けになるはずです。
質問を明確にしてください。ここの文字列の値は何ですか?だから、指定された文字列が有効なPHPコードであるかどうかを識別できるようにしたいのですか?あなたは正規表現でこれを行うことはできません。 –
ソースによって異なります。それがユーザーの入力であれば、本当に 'eval()'を勧められません。なぜなら、暗い人の魂は、永遠に私を拷問するために、netherworldの深みから来るからです。また、気をつけなければ悪用されるかもしれません。 –
タグの中に ''タグを使用することはできません – Hubro