我正在尝试获取包含在 php 脚本中的所有文件的列表。
我正在阅读整个文件,其中包含以下内容:
<?php
echo 'Hello there';
include 'some_functions.php';
echo 'Trying to find some includes.';
include 'include_me.php';
echo 'Testtest.';
?>
然后,我在该文件上运行此代码:
if (preg_match_all ("/(include.*?;){1}/is", $this->file_contents, $matches))
{
print_r($matches);
}
当我运行这个匹配时,我得到了预期的结果......这是两个包含部分,但我也得到了完全相同的东西的重复,或者包含语句的随机块。以下是输出示例:
Array (
[0] => Array ( [0] => include 'some_functions.php'; [1] => include 'include_me.php'; )
[1] => Array ( [0] => include 'some_functions.php'; [1] => include 'include_me.php'; ) )
如您所见,它多次嵌套具有相同结果的数组。对于每个包含语句,我需要数组中的 1 项,没有重复,没有嵌套数组。
我在使用这些正则表达式时遇到了一些问题,所以一些指导会很好。感谢您的时间。