2011-12-05 15 views
0

私はpreg_match_allでテキストを検索しています。 私はそのIDパラメータを引き出す(IDは英数字でもよい)ですから、 "photo.php?ID ="を探しています。preg_match_all(PHP正規表現)で写真ID(URLパラメータ)を取得する

例のテキスト:私は私が言うかなりひどい正規表現を試してみた

"Here is an article with an <img src="/photo.PHP?ID=pic_14" /> image." 
"Or here is an article with a different <img src="http://www.example.com/photo.PHP?ID=14" /> image." 

は:

preg_match_all("/photo\/(.*?)\"/", $text, $matches); 

答えて

1

これは動作するはずです。あなたのIDは英数字であるとみなします。

preg_match_all("/photo.PHP\?ID=(\w+)/i", $text, $matches); 
+0

IDが英数字であることを示す質問が更新されました。正規表現を更新できますか? –

+0

質問のサンプルテキストを使って何も見つかりませんでした –

+0

私の返信で.phpが見つかりませんでしたので、それに応じて更新しました。正規表現の大文字小文字を区別しないようにフラグを追加して、 '.PHP'または '.php'にマッチさせるようにしました。 IDが大文字と小文字を区別しないようにするので、大文字小文字を区別しないようにする必要がなければ正規表現の末尾の 'i'を削除することができます。 – chawkinsuf