• ベストアンサー

ページのhtmlから任意のタグの要素を所得したい

PHPをはじめたばかりのものです。 指定したページのhtmlのタグから要素を取得したいです。 たとえば<name>タグと指定すれば、 そのぺージの全ての<name>タグの要素を 配列に入れて取得できるような感じです。 調べても、 getElementsByTagName ←こういうのが出てきたりするのですが 使い方がよくわかりません。。 ご存知の方いらっしゃいましたら、 何卒よろしくお願いいたします。

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

  • ベストアンサー
  • 1minn
  • ベストアンサー率57% (52/90)
回答No.1

// HTMLファイルを取得 $file = file(abc.html); // HTMLファイルの行数を習得 $cnt = count( $file ); // カウンタ $i = 0; // 抜き出した要素を格納する $str = array(); // 行数分ループして欲しい要素を探す while ( $i < $cnt ) {   // 要素の位置を取得   $pos = strstr($file[ $i ], '<name>' );   // 要素を見つけたら抜き出す   if ( $pos !== false ) {     // タグの終りの位置を見つける     $endPos = $pos = strstr($file[ $i ], '</name>' );     // 開始位置から終了位置まで抜き出す     $str[] = substr( $file[ $i ], $pos, $endPos-$pos );   } } これだと同じ行に開始タグと終了タグがないとうまくいきません。 また、要素の取得位置にタグも含まれると思うので調整が必要です。 書いてて途中でしんどくなったので、ここらへんまでで・・・ あとはご自分で。 ちなみに > 調べても、 > getElementsByTagName ←こういうのが出てきたりするのですが > 使い方がよくわかりません。。 Javascriptですよそれ。

すると、全ての回答が全文表示されます。

関連するQ&A