• ベストアンサー

2番目、4番目にあるリンクの文字を抽出!

$naiyou = ("あい<a href=\"aa.com\">う</a>えおか<a href=\"ff.com\">き</a>くけこさしす<a href=\"hh.com\">う</a>せそた<a href=\"ss.com\">ちつて</a>となにぬ<a href=\"gg.com\">ねの</a>はひ"); 上のような文の中から「2番目にあるリンクの文字」や「4番目にあるリンクの文字」というふうに取り出せるようにしたいのですが、どうすればいいのでしょうか。 教えてください m(_ _)m お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#57710
noname#57710
回答No.1

二通り。 preg_matchを使用 preg_match('/.*?<a href=[^>].*?>.*?<\/a>.*?<a href=[^>].*?>(.*?)<\/a>.*?<a href=[^>].*?>.*?<\/a>.*?<a href=[^>].*?>(.*?)<\/a>.*?/', $naiyou, $match); echo $match[1]; //二番目のリンク文字 echo $match[2]; //四番目のリンク文字 preg_match_allを使用 preg_match_all('/<a href=[^>].*?>(.*?)<\/a>/', $naiyou, $match); echo $match[1][1]; //二番目のリンク文字 echo $match[1][3]; //四番目のリンク文字 何番目に当たるところを変えたい場合はpreg_match_allのほう使って全部取得した後使うものだけ指定する、ってほうがいいかもしれませんね。

bavarois
質問者

お礼

preg_match_all!!! 問題が解決できました。 (◎-◎;)ありがとうございました!!

関連するQ&A