使用PHP本身解析/查找函数调用
我想知道是否可以使用PHP的解析器来解析文件和搜索/查找给定的函数调用 例如,我想知道从哪个文件调用函数使用PHP本身解析/查找函数调用,php,regex,parsing,Php,Regex,Parsing,我想知道是否可以使用PHP的解析器来解析文件和搜索/查找给定的函数调用 例如,我想知道从哪个文件调用函数eval。我可以将find与-exec和一些正则表达式一起使用,但这会返回大量误报,并且还会返回注释代码 我的问题是:我是否可以使用PHP自己的解析器在文件中搜索,并说明该文件中是否使用了给定的函数/保留字?您可以使用PHP的内部标记器查找对eval的直接调用: <?php $data = file_get_contents('test.php'); $tokens = token_ge
eval
。我可以将find
与-exec
和一些正则表达式一起使用,但这会返回大量误报,并且还会返回注释代码
我的问题是:我是否可以使用PHP自己的解析器在文件中搜索,并说明该文件中是否使用了给定的函数/保留字?您可以使用PHP的内部标记器查找对eval的直接调用:
<?php
$data = file_get_contents('test.php');
$tokens = token_get_all($data);
foreach($tokens as $token){
if($token[0]==T_EVAL){
echo "Eval found on line: ".$token[2]."\n";
}
}
为什么不直接用fopen()
打开它并搜索你的关键字呢?不是用regex。在PHP中,调用名为$function
的函数的选项数不胜数<代码>调用用户函数
或$function()
是最简单的them@ShankarDamodaran我不确定我是否理解你的建议。你能详细阐述一下你的想法吗?使用会更好approach@AlmaDo那些是角落里的箱子。如果我至少能接到直拨电话,我会非常高兴。另外,如果我正在使用PHP的解析器,应该可以(以某种方式)让它知道实际上有一个对我正在寻找的内容的调用D