Create packer with recursive inclusion and deduplication
This commit is contained in:
21
includes/includeParser.php
Normal file
21
includes/includeParser.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
function getLineIncludeFile(string $line): false|string
|
||||
{
|
||||
preg_match("/include\s+'([^']+\.php)'/", $line, $matches);
|
||||
if (count($matches) === 2) {
|
||||
return $matches[1];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function buildIncludes(string $file, array &$includes): void
|
||||
{
|
||||
foreach (getAllLines($file) as $line) {
|
||||
$includeFile = getLineIncludeFile($line);
|
||||
if ($includeFile) {
|
||||
buildIncludes($includeFile, $includes);
|
||||
}
|
||||
}
|
||||
$includes[$file] = true;
|
||||
}
|
Reference in New Issue
Block a user