htmlソースからタグ内のテキストを配列に
お世話になっております。
$addfname = trim($_POST["url"]);
$html = file_get_contents($addfname);
$html = mb_convert_encoding($html,"EUC-JP","auto");
以上のように、フォームに入力されたURLを読み込み、各タグ内に記述されたテキストなどを排出(配列に格納)しようと思い、<h2></h2>のようにh2タグで囲まれたテキストは、
$pattern = '/<h2>(.*)<\/h2>/is';
$match = array();
preg_match_all($pattern, $html, $match, PREG_SET_ORDER);
$h2text1 = str_replace("<h2>", "", $match4[0][0]);
$h2text2 = str_replace("</h2>", "\t", $h2text1);
$h2array = explode("\t", $h2text2);
$h2cnt = count($h2array)-1;
とすることで、なんとか配列に格納することが出来ました。
が、しかし、CSSなどで、<h2 class="~"></h2>となっていたりすると、正常に読み込むことが出来ず、</h2>タグ以降のテキストなども読み込んでしまいます。
配列に格納する方法も、どこかぎこちないように思えたりもしますが、以上のような、idや、classなど、<h2>だけで括られている以外のテキストなども読み込むには、どのようにしたら宜しいのでしょうか?
お忙しいなか恐縮ですが、アドバイスのほどよろしくお願い申し上げます。