サブドメインで運営しているマルチサイトで、
子サイトのサブドメイン名だけ抜き出す方法です。
目次
親サイトのURLがドメインの場合
例えば、子サイトのURLが
[php]http://blog.expmple.com/[/php]だったとします。
URLの【blog】だけを抜き出したい時に取得する方法です。
親サイトのIDを取得
[php]get_blog_details(1)[/php] の1は、親サイトのIDを指定します。恐らくデフォルトで1だと思います。
get_blog_detailsは、サイトIDを指定することにより、
マルチサイトの情報を引き出すことができます。
[“blog_id”]=>
string(1) “1”
[“site_id”]=>
string(1) “1”
[“domain”]=>
string(17) “eternal-tears.com”
[“path”]=>
string(1) “/”
[“registered”]=>
string(19) “2010-06-29 14:33:41”
[“last_updated”]=>
string(19) “2012-01-18 07:46:06”
[“public”]=>
string(1) “1”
[“archived”]=>
string(1) “0”
[“mature”]=>
string(1) “0”
[“spam”]=>
string(1) “0”
[“deleted”]=>
string(1) “0”
[“lang_id”]=>
string(1) “0”
[“blogname”]=>
string(15) “Eternal-tears+*”
[“siteurl”]=>
string(28) “http://www.eternal-tears.com”
[“post_count”]=>
string(3) “154”
}[/php] [php]$child_domain_details -> domain[/php] で、サブドメイン.ドメインを取得することができます。
トップドメインを削る
このままでは、ドメインが邪魔になるので、
[php]str_replace[/php]
で置換します。
[php]$top_domain->domain[/php]
で親サイトのドメインを取得出来ます。
サブドメインとドメインの間のコンマ(.)も取らなければならないので、
[php]”.”.$top_domain -> domain[/php]
と記述します。
最終的なソース
[php] domain, “”, $child_domain_details -> domain);echo $child_domain;
?>[/php]
親サイトをwwwなどのサブドメインで運営している場合
もしwwwなどが付いている場合は、
$top_domainの時点で、置換してあげます。
最終的なソースは、
[php] domain);
$child_domain_details = get_blog_details($blog_id);
$child_domain =str_replace(“.”.$top_domain_only, “”, $child_domain_details -> domain);
echo $child_domain;
?>[/php]
コメント
コメント一覧 (1件)
[…] 参考:マルチサイトで子サイトのサブドメインを抜き出す方法 […]