编辑:函数的真实名称是CB_t
考虑一个包含多个文件和文件夹的项目。在整个项目中,我们使用不同的参数多次调用 CB_t($string='') 函数。我需要的是在调用此函数的所有时间以编程方式查找并使用参数创建一个数组。参数始终是字符串。
代码示例:
文件 1:
<?php
# Some code ....
$a = CB_t('A');
$b = CB_t("B");
# more code ...
文件 2:
<?php
# Some code ....
$c = CB_t("ABC");
$d = CB_t('1938');
# more code ...
我需要的是解析所有代码并创建一个包含所有参数的数组。在上述示例的情况下,数组应如下所示:
['A','B','ABC','1938']
以下是我到目前为止尝试的方法,但没有给出好的结果,因为有时使用简单引号调用该函数,有时使用双引号或使用大写或小写。
$search = "F(";
$path = realpath(ROOT); // ROOT defined as project root folder
$fileList = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path), \RecursiveIteratorIterator::SELF_FIRST);
$count = 0;$counter = 0;
foreach ($fileList as $item)
{
if ( $item->isFile() && substr($item->getPathName(), -4) =='.php') // #1
{
$counter++;
$file = file_get_contents($item->getPathName());
if( strpos($file,trim($search)) !== false) {
$count++;
echo "<br>File no : ".$count;
echo "<br>Filename : ".$item->getFileName();
echo "<br>File path : ".$item->getPathName();
echo "<hr>";
} // End file is php
unset($file);
} // End if #1
} // End foreach
我认为这可以通过正则表达式以某种方式解决,但我不能很好地控制这部分。
提前致谢!