$string = ($test === TRUE) ? 'lala' : 'falala';
有很多方法可以做你想做的事情(如果我正确地阅读你写的内容)。上面是三元的。如果条件计算结果为真,则 $string 将设置为“lala”,否则设置为“falala”。
如果您实际上是在询问您写的内容,请使用 eval() 函数。它接受一个传递的字符串并执行它,就好像它是 php 代码一样。不包括<?php ?>
tags.
function dropAllTables() {
// drop all tables in db
}
$string = 'dropAllTables();';
eval($string); // will execute the dropAllTables() function
[edit]
您可以使用以下正则表达式来查找所有 php 代码:
preg_match_all('/(<\?php )(.+?)( \?>)/', $string, $php_code, PREG_OFFSET_CAPTURE);
$php_code 将是一个数组,其中 $php_code[0] 将返回所有与代码 + 匹配的数组<?php ?>
标签。 $php_code[2] 将是一个仅包含要执行的代码的数组。
So,
$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'));
这应该对你想做的事情有帮助。