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

k.kikuchi apple @ s21.fxis.fujixerox.co.jp
2006年 3月 29日 (水) 13:30:43 JST


こんにちは、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 メーリングリストの案内