WP_CLI\Utils

expand_globs()WP-CLI 1.0

Expand within paths to their matching paths.

Has no effect on paths which do not use glob patterns.

Хуков нет.

Возвращает

Массив. Expanded paths.

Использование

expand_globs( $paths, $flags );
$paths(строка|массив) (обязательный)
Single path as a string, or an array of paths.
$flags(int)
Flags to pass to glob.
По умолчанию: GLOB_BRACE

Код expand_globs() WP-CLI 2.8.0-alpha

function expand_globs( $paths, $flags = 'default' ) {
	// Compatibility for systems without GLOB_BRACE.
	$glob_func = 'glob';
	if ( 'default' === $flags ) {
		if ( ! defined( 'GLOB_BRACE' ) || getenv( 'WP_CLI_TEST_EXPAND_GLOBS_NO_GLOB_BRACE' ) ) {
			$glob_func = 'WP_CLI\Utils\glob_brace';
		} else {
			$flags = GLOB_BRACE;
		}
	}

	$expanded = [];

	foreach ( (array) $paths as $path ) {
		$matching = [ $path ];

		if ( preg_match( '/[' . preg_quote( '*?[]{}!', '/' ) . ']/', $path ) ) {
			$matching = $glob_func( $path, $flags ) ?: [];
		}
		$expanded = array_merge( $expanded, $matching );
	}

	return array_values( array_unique( $expanded ) );
}