function get_insert_position($lines) { $docPositions = array_filter($lines, function ($line) { return Str::contains($line, '{% lang_operator'); }); $documentedLibraries = array_map(function ($line) { return Str::firstWord(Str::substringAfter($line, 'lang_operator')); }, $docPositions); foreach ($documentedLibraries as $position => $library) { if (strcmp($library, 'RxPHP') <= 0) { continue; } return $position; } return count($lines) - 2; // at the end of the file by default }