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

PHPでの正規表現でURIを処理する時に

1. http://www.XXXX.XXX/XXX/sample.html
2. http://www.XXXX.XXX/XXX/
3. http://www.XXXX.XXX/XXX

のどのパターンでもhttp://www.XXXX.XXX/XXX/ もしくは http://www.XXXX.XXX/XXX として取り扱う正規表現を教えて頂けますでしょうか?

よろしくお願いします。


●質問者: natsumi2000
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:PHP URI パターン 正規表現
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●50ポイント
<?php
$url = preg_replace('/^(http:\/\/www\.XXXX\.XXX\/XXX)([\/\?].*)?/', '$1', $url);
?>
◎質問者からの返答

ありがとうございました。


2 ● pahoo
●100ポイント

正規表現による置換をお求めですよね。

条件が曖昧なので、こうしました。大文字は任意のURL文字とします。


  1. "http://www.XXX.YYY/sample.html"⇒"http://www.XXX.YYY"
  2. "http://www.XXX.YYY"⇒そのまま
  3. "http://www.XXX.YYY/"⇒そのまま
  4. "http://www.XXX.YYY/sample.shtm"など⇒そのまま

以上の要件であれば、下記のスクリプトで実現できます。

$destに変換元の URL を入れると、$dest に変換後の URL が代入されます。

$pat = "[\-_!~'\(\)a-zA-Z0-9@&=\+$\,%#]+";
$dest = preg_replace("/http:\/\/www.({$pat}).({$pat})(\/sample.html)?/", "http://www.$1.$2", $sour);

参考サイト

◎質問者からの返答

解決しました!ありがとうございます。

関連質問


●質問をもっと探す●



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