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

PHP4の質問になります。HTMLのtableから正規表現にマッチする部分を1組づつ全て抽出しようとしています。

preg_match_all("/<tr>(.+)<\/tr>/si", $html, $match);

のようにしてみたのですが、matchには最初の「<tr>」から最後の「</tr>」までの間のHTMLがそのまま返されてしまいます。
どこか間違いがありますでしょうか?上手くいく方法を教えてください。


・HTML
<tr>
この部分を抽出したい。$match[0][1]
</tr>
<tr>
この部分を抽出したい。$match[1][1]
</tr>
<tr>
この部分を抽出したい。$match[2][1]
</tr>

●質問者: wizemperor
●カテゴリ:ウェブ制作
✍キーワード:HTML マッチ 抽出 正規表現
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● b-wind
●60ポイント ベストアンサー

"/(.+?)<\/tr>/si"

正規表現を上記のものに入れ替える。

.+ だと出来うる限り最大長の長さにマッチしようとするので、 .+? にするのがポイント。

http://jp2.php.net/manual/ja/reference.pcre.pattern.syntax.p...

関連質問


●質問をもっと探す●



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