PHPについて質問です。


preg_match_all関数について質問です。

現在、正規表現でデータを抜き取りたいと考えています。

抜き取りたいデータですが 

<a href="/aucview/yahoo/n80527452/"



n80527452

の部分です。

preg_match_all('|<a\s[^>]*href="/aucview/yahoo/([^"]+)|s', $html, $m);

と作成してみたのですが

配列に入ったデータを見てみると

n80527452/

と / が入った状態になってしまいます。

/を抜いた状態にするには

preg_match_all('|<a\s[^>]*href="/aucview/yahoo/([^"]+)|s', $html, $m);

をどのように変えたらよろしいでしょうか?

お手数をおかけしますが、わかるかたおりましたらよろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/10/01 22:48:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:makeworld No.1

回答回数75ベストアンサー獲得回数23

ポイント100pt

[^"]を[^"/]に変更すれば、/を抽出しなくなります。

preg_match_all('|<a\s[^>]*href="/aucview/yahoo/([^"/]+)|s', $html, $m);
id:aiomock

ご回答ありがとうございます。

2009/10/01 22:35:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません