В коллекцию: url (http||https||ftp)

Статус
В этой теме нельзя размещать новые ответы.
а что этот метасимвол означает?
о модификаторах кто-то слышал, типа что #[aA]# это то же что и #a#i ?
Да, модификатор i - это case-insensitive поиск .
А ограничители могут быть любыми, лишь-бы в строке поиска не попались :) .
 
в ftp могут оказаться логин и пароль ;)

поэтому
HTML:
^[url]ftp://([/url][^:@]+)?(:([^@]+))?@?([^:/]*)(:([^/]+))?(/(.*))?$


PHP:
/**
 * Parse FTP-connection string
 *
 * @param string $url like ftp://user:password@host:port/path/
 * @return array hash(login, password, host, port, path)
 */
function parseFtpUrl($url) {
	$result = array(
		'login' => 'anonymous',
		'password' => 'nobody@nobody.com',
		'host' => '',
		'port' => 21,
		'path' => '',
	);
	if (preg_match('#^ftp://([^:@]+)?(:([^@]+))?@?([^:/]*)(:([^/]+))?(/(.*))?$#i', $url, $m)) {
		if (!empty($m[1])) $result['login'] = $m[1];
		if (!empty($m[3])) $result['password'] = $m[3];
		if (!empty($m[4])) $result['host'] = $m[4];
		if (!empty($m[6])) $result['port'] = $m[6];
		if (!empty($m[8])) $result['path'] = rtrim($m[8], '/');
	}
	return $result;
}


А вообще в PHP есть удобная функция Для просмотра ссылки Войди или Зарегистрируйся
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху