- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:htmlソースからアンカータグ内のURLを配列に)
HTMLソースからアンカータグ内のURLを配列に
このQ&Aのポイント
- file_get_contents()で取得したhtmlファイルのソースにある、アンカータグに設置されている、URLおよび、そのアンカータグに囲まれたテキストを取得して配列に収めたいと考えている。
- アンカータグ内のURLとテキストを取得する方法を調べているが、目的の結果を出せずにいる。
- アンカータグ内にtarget属性などの記述があると配列に収めることができない状況。対処方法を知りたい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
配列の中に配列がある場合は多元的に[]をつけてアクセスします。 <? $a=Array(Array("a","b","c"),Array("x","y","z")); print_r($a); print $a[1][1]; ?> PHPの参考書であれば基本事項として書いてあると思いますが もしお持ちでなければ、1冊手元におかれてはどうでしょうか?
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
たとえばこんな感じ? $pattern = '/<a .*?href="(.*?)".*?>(.+?)<\/a>/is';
質問者
お礼
yambejpさんへ おはようございます。早速の対応をありがとうございます! これまで何度か正規表現について(だけではありませんが^^;)yambejpさんからご指導いただいてますが、素晴らしいです。ありがとうございました! ところで、質問にも書いておりますが、ただ単純に$matchをfor文で呼び出すと、配列の中に配列形式のものが収まっているのですが、初めて見るもので、その分解?方法が分からずにいる次第です。 もちろん私自身も検索などで調べてはいるのですが、キーワードが不適切なためか、あまりにも初歩的な問題なためか、具体的な例を探すまでに至っておりません。 お忙しいなか恐縮ですが、こちらも併せてアドバイスいただければ幸いです。よろしくお願い申し上げます。
お礼
yambejpさんへ お世話になっております。引き続き、早速のご回答をありがとうございます。 多次元配列ですか・・お恥ずかしいながら初めて耳にいたしました。書籍も何冊かもっておりますが、すべてDBとの連携に関するものなため、PHPの専門書でも購入したいと思います。 なお、今回の件につきましては、yambejpさんのヒントを元に、いろいろと検索して思うような結果を得ることが出来ました。ありがとうございました!