[英]Why won't this work in PHP?
$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);
}
}
基本上,只是嘗試解析一些內容並用等效的PHP常量替換內部的字符串。 我應該在這里使用eval()
嗎? 我以前從來沒有真正找到使用它的理由,而且差不多凌晨1點了,我想知道這是不是巧合?
您可以使用常量替換eval
:
$constantOutput = constant($constant);
你為什么不放棄評估?
<?php
$v = PHP_VERSION;
$f = __FILE__;
echo $v.' '.$f;
?>
給
/tmp% php test.php
5.2.10-2ubuntu6.4 /tmp/test.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.