|
|
|
|
|
для: tAleks
(20.07.2008 в 12:56)
| | может как нибудь так пойдет:
<?
define('DOMAIN','site.ru'); // Указываем главный домен
$subs = str_replace('.'.DOMAIN,'',$_SERVER['HTTP_HOST']); // удаляем его
// Если есть поддомены, парсируем
if(!empty($subs))
$subs = explode('.',$subs);
?>
|
| |
|
|
|
|
|
|
|
для: tAleks
(20.07.2008 в 12:56)
| | Ничего специализированного Вы не найдете.
Из-за нескольких заблуждений. Вы почему-то считаете, что
1. что буквы www. не являются обычным именем узла.
2. домены могут быть только третьего уровня. (иначе непонятны Ваши слова "пустая строка в 4 варианте)
3. что www.site.ru - домен того же уровня (или даже тот же самый домен) что и site.ru | |
|
|
|
|
|
|
|
для: tester
(20.07.2008 в 13:46)
| |
function parseUrl($url) {
$r = "^(?:(?P<scheme>\w+)://)?";
$r .= "(?:(?P<login>\w+):(?P<pass>\w+)@)?";
$r .= "(?P<host>(?:(?P<subdomain>[-\w\.]+)\.)?" . "(?P<domain>[-\w]+\.(?P<extension>\w+)))";
$r .= "(?::(?P<port>\d+))?";
$r .= "(?P<path>[\w/]*/(?P<file>\w+(?:\.\w+)?)?)?";
$r .= "(?:\?(?P<arg>[\w=&]+))?";
$r .= "(?:#(?P<anchor>\w+))?";
$r = "!$r!"; // Delimiters
preg_match ( $r, $url, $out );
return $out;
}
|
попробуй, должно помочь =) | |
|
|
|
|
|
|
|
для: tAleks
(20.07.2008 в 12:56)
| | есть parse_url, но она парсит ссылки, а вообще я бы рег. выражениями делал | |
|
|
|
|
|
|
| Есть-ли в PHP специальные функции для разборки домена?
Например, Домен может быть:
1. sub.site.ru
2. www.sub.site.ru
3. www.site.ru
4. site.ru
Нужно чтобы из любого варианта извлекалась первая часть, т.е. "sub", а в 3 и 4 варианте, пустая строка.
Есть ли на этот счет, что-нибудь специализированное? Или только вручную? | |
|
|
|
|