• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:htmlソースからアンカータグ内のURLを配列に)

HTMLソースからアンカータグ内のURLを配列に

このQ&Aのポイント
  • file_get_contents()で取得したhtmlファイルのソースにある、アンカータグに設置されている、URLおよび、そのアンカータグに囲まれたテキストを取得して配列に収めたいと考えている。
  • アンカータグ内のURLとテキストを取得する方法を調べているが、目的の結果を出せずにいる。
  • アンカータグ内にtarget属性などの記述があると配列に収めることができない状況。対処方法を知りたい。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

配列の中に配列がある場合は多元的に[]をつけてアクセスします。 <? $a=Array(Array("a","b","c"),Array("x","y","z")); print_r($a); print $a[1][1]; ?> PHPの参考書であれば基本事項として書いてあると思いますが もしお持ちでなければ、1冊手元におかれてはどうでしょうか?

mayu_chap
質問者

お礼

yambejpさんへ お世話になっております。引き続き、早速のご回答をありがとうございます。 多次元配列ですか・・お恥ずかしいながら初めて耳にいたしました。書籍も何冊かもっておりますが、すべてDBとの連携に関するものなため、PHPの専門書でも購入したいと思います。 なお、今回の件につきましては、yambejpさんのヒントを元に、いろいろと検索して思うような結果を得ることが出来ました。ありがとうございました!

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

たとえばこんな感じ? $pattern = '/<a .*?href="(.*?)".*?>(.+?)<\/a>/is';

mayu_chap
質問者

お礼

yambejpさんへ おはようございます。早速の対応をありがとうございます! これまで何度か正規表現について(だけではありませんが^^;)yambejpさんからご指導いただいてますが、素晴らしいです。ありがとうございました! ところで、質問にも書いておりますが、ただ単純に$matchをfor文で呼び出すと、配列の中に配列形式のものが収まっているのですが、初めて見るもので、その分解?方法が分からずにいる次第です。 もちろん私自身も検索などで調べてはいるのですが、キーワードが不適切なためか、あまりにも初歩的な問題なためか、具体的な例を探すまでに至っておりません。 お忙しいなか恐縮ですが、こちらも併せてアドバイスいただければ幸いです。よろしくお願い申し上げます。

関連するQ&A