人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpで、特定のURLを変数として受け取ると、
そのURLの最深ディレクトリを取得したいです。

例えば、
http://www.hatena.ne.jp/aaa/bbb/ccc.html
http://www.hatena.ne.jp/aaa/bbb/
http://www.hatena.ne.jp/aaa/bbb/ccc.php
の3つのURLのケースでは、
http://www.hatena.ne.jp/aaa/bbb/
を取得したいです。

http://www.hatena.ne.jp/
の場合は、
http://www.hatena.ne.jp/
を取得したいです。

実現の参考になるサイトや、コードがありましたら、
お願いします。

●質問者: onigirin
●カテゴリ:ウェブ制作
✍キーワード:PHP コード サイト ディレクトリ 変数
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● GEN111
●35ポイント ベストアンサー

こんな感じですかね。

function get_lastdir($url) {
 return preg_replace('!(https?://)((.+/)+)(.+)!ie', 'sprintf("%s%s/", "$1", dirname("$2$4a"));', $url) ;
}

echo get_lastdir('http://www.hatena.ne.jp/aaa/bbb/ccc.html') ;
◎質問者からの返答

どうもありがとうございます!

無事目的が達成されました!


2 ● KUROX
●35ポイント

(1)parse_url()を使って分解

http://www.7key.jp/program/php/parse_url.html

(2)path 部分をsplit()で分解

http://blog.simpraight.com/entry/51

(3) (1)と(2)を使ってほしい文字列をつくる

力ずくベタベタコーディングですけど。

◎質問者からの返答

どうもありがとうございます。

parse_url、面白いですね。

これは使えそうですねぇ。

なんだかこの関数で今までやりたかったことも解決できそうで、夢が広がりました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ