WP_CLI\Utils

parse_str_to_argv()WP-CLI 1.0

Parse a string of command line arguments into an $argv-esqe variable.

Хуков нет.

Возвращает

Массив.

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

parse_str_to_argv( $arguments );
$arguments(строка) (обязательный)
-

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

function parse_str_to_argv( $arguments ) {
	preg_match_all( '/(?:--[^\s=]+=(["\'])((\\{2})*|(?:[^\1]+?[^\\\\](\\{2})*))\1|--[^\s=]+=[^\s]+|--[^\s=]+|(["\'])((\\{2})*|(?:[^\5]+?[^\\\\](\\{2})*))\5|[^\s]+)/', $arguments, $matches );
	$argv = isset( $matches[0] ) ? $matches[0] : [];
	return array_map(
		static function ( $arg ) {
			foreach ( [ '"', "'" ] as $char ) {
				if ( substr( $arg, 0, 1 ) === $char && substr( $arg, -1 ) === $char ) {
					$arg = substr( $arg, 1, -1 );
					break;
				}
			}
				return $arg;
		},
		$argv
	);
}