function extract_doc_description($docComment) { $rawDescription = Str::substringUntil(Str::substringUntil($docComment, '@return'), '@param'); $lines = explode("\n", $rawDescription); array_shift($lines); // drop /* $cleaned = array_map(function ($line) { return trim(str_replace('*', '', $line)); }, $lines); return trim(implode(' ', $cleaned)); }