我正在尝试读取php文件,以便我可以提取所有变量并将它们存储在一个对象中。 然后我想获取变量的值并将其添加到对象中。 如果变量位于未知文件中,如何获取变量的值?
解析文件的代码:
function scan($file){
$vars = (object) array();
$tokens = token_get_all(file_get_contents($file));
foreach($tokens as $token){
if ($token[0] == 312){ //if the token is a variable
$vars->{substr($token[1], 1)} = VALUE OF CURRENT TOKEN ;
}
}
return $vars;
}
需要解析的代码:
<?php
$duck = "cow";
$lizard = "cat";
?>
我要返回的对象:
{
duck: "cow",
lizard: "cat"
}
答案 0 :(得分:0)
<?php
$filetext = '
<?php
$duck = "cow";
$lizard = "cat";
$qwert = 4;
$asdfg=2;
?>
';
preg_match_all('/\$(\w+)\s*=\s*(\S+);/', $a, $matches);
var_dump($matches);
if (!empty($matches[1])) {
$object = new stdClass();
foreach($matches[1] as $key => $value) {
$object->{$value} = trim($matches[2][$key], '\'"');
}
}
var_dump($object);