[PHP-users 28882] Re: 正規表現による文字列の抽出

HIGASHI Taku oolong @ cslab.co.jp
2006年 3月 29日 (水) 14:24:36 JST


東志です

parse_url()関数でURL全体をパースした後、query部分を再度パースするのが
簡単かと思います。

parse_url()関数については、以下のマニュアルページを参照してください。

  http://jp.php.net/manual/ja/function.parse-url.php


On Wed, 29 Mar 2006
13:30:43 +0900 "k.kikuchi" <apple @ s21.fxis.fujixerox.co.jp> wrote:

> こんにちは、tomと申します。
> 
> 正規表現を用いてApacheのaccess.logから、
> 検索ワードのみを取得したいです。
> 
> 全くの素人のため見よう見まねで以下のように書いてみましたが、
> うまく抽出することができませんでした。
> 
> 'http:\/\/www\.google\.co(.*)\/search\?(.*)$(/[-.!~*\d\w;/?:@&=+$,%#]+)?'
> 
> 「q=」から「&lr」までか、
> 「&lr」がない場合もあるため「"」までを取得し、
> 文字列をデコード後に配列に格納したいと思っております。
> 
> 以下がアクセスログの抜粋なのですが、
> うまく抽出することができませんでした。
> 
> XXX.XXX.XXX.XXX - - [時間] "GET コンテンツ HTTP/1.0" 200 99999
> "http://www.google.co.jp/search?hl=ja&q=%82%a0%82%a0%20%82%a0%82%a0%81%40%82%a0&lr="
> 
> どうかアドバイスをお願いいたします。
> 
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
> 


PHP-users メーリングリストの案内