WP_CLI\Utils
parse_ssh_url()
Parse a SSH url for its host, port, and path.
Similar to parse_url(), but adds support for defined SSH aliases.
host OR host/path/to/wordpress OR host:port/path/to/wordpress
Хуков нет.
Возвращает
Разное
.
Использование
parse_ssh_url( $url, $component );
- $url (обязательный)
- -
- $component **
- -
По умолчанию: -1
Код parse_ssh_url() parse ssh url WP-CLI 2.8.0-alpha
function parse_ssh_url( $url, $component = -1 ) { preg_match( '#^((docker|docker\-compose|docker\-compose\-run|ssh|vagrant):)?(([^@:]+)@)?([^:/~]+)(:([\d]*))?((/|~)(.+))?$#', $url, $matches ); $bits = []; foreach ( [ 2 => 'scheme', 4 => 'user', 5 => 'host', 7 => 'port', 8 => 'path', ] as $i => $key ) { if ( ! empty( $matches[ $i ] ) ) { $bits[ $key ] = $matches[ $i ]; } } // Find the hostname from `vagrant ssh-config` automatically. if ( preg_match( '/^vagrant:?/', $url ) ) { if ( 'vagrant' === $bits['host'] && empty( $bits['scheme'] ) ) { $bits['scheme'] = 'vagrant'; $bits['host'] = ''; } } switch ( $component ) { case PHP_URL_SCHEME: return isset( $bits['scheme'] ) ? $bits['scheme'] : null; case PHP_URL_USER: return isset( $bits['user'] ) ? $bits['user'] : null; case PHP_URL_HOST: return isset( $bits['host'] ) ? $bits['host'] : null; case PHP_URL_PATH: return isset( $bits['path'] ) ? $bits['path'] : null; case PHP_URL_PORT: return isset( $bits['port'] ) ? $bits['port'] : null; default: return $bits; } }