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

PHPでタグ内から文字列を抜き出すプログラムを作っているのですが、問題が発生しうまくいきません。

$str = "<a href="http://hatena.ne.jp/" class=a>はてな</a>";

preg_match_all('|<a href=\"(.*?)\" class=a>(.*?)<\/a>|', $str, $match);

今現在このような方法でclass=aの<a>タグ内のURLと名前を抜き出しているいます。
上記のような文字列の場合だとうまく抜き出せるのですが、
下記のような場合だと、

$str = "<a href="http://mixi.jp">ミクシー</a><a href="http://hatena.ne.jp/" class=a>はてな</a>";


http://mixi.jp">ミクシー</a><a href="http://hatena.ne.jp/

までを抜き出しちゃいます。
どうにかうまくclass=aの<a>タグ内だけを抜き出せないでしょうか?
ご教授よろしくおねがいします。【正規表現】

●質問者: Mainichi-Net
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Class href PHP STR URL
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● pahoo
●60ポイント

こんな正規表現でどうでしょう。

/<a[^>]*href[^>]*\"([^>]*)\" class=a>([^<]*)<\/a>/i

ただし、"<a class=a href="http://hatena.ne.jp/">" には対応していません。

対応する必要はありますか?

◎質問者からの返答

うまくいきました!ありがとうございます。

関連質問


●質問をもっと探す●



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