为什么这不适用于PHP?

ale*_*lex 3 php eval constants

$constPrefix = '_CONST_';

if (strstr($content, $constPrefix)) {
    $constants = array('PHP_VERSION', '__FILE__');
    foreach($constants as $constant) {
        $constantOutput = eval($constant);
        $content = str_replace($constPrefix . $constant, $constantOutput, $content);
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,只是尝试解析一些内容并用等效的PHP常量替换内部的字符串.是eval()什么,我应该使用吗?我以前从来没有真正找到使用它的理由,而且差不多凌晨1点了,我想知道这是不是巧合?

dus*_*san 10

您可以eval使用常量替换:

$constantOutput = constant($constant);
Run Code Online (Sandbox Code Playgroud)