• 締切済み

htmファイルの部分抽出について

他のファイルを丸ごと、抽出する事は出来るのですが、 htmファイル内にphpを使用して、同じドメイン内で別のhtmファイル内の、 ここと、ここを抽出したい場合はどうすればよいでしょうか? よろしくお願いいたします。

みんなの回答

回答No.2

ブロックが複数になるのでしたら、1行づつ解析した方が楽かも知れません。 file関数でHTMLファイルを1行づつの配列に格納します。そいで例えば $file = file(PATH); $contents = ""; $flag = false; foreach($file as $line){ if(!$false && strpos($line,"<!-- start -->") !== false){ $flag = true; }else if ($flag){ if (strpos($line,"<!-- end -->") !== false){ $flag = false; }else{ $contents .= $line; } } } こんな感じですね。エラー処理などは何もしてませんし、ヒント程度に考えてあとは自分でやってみて下さいね。

jyanpoke7
質問者

お礼

wakame0729 様 有難う御座いました。 自分には、まだよく分からないですが、 いろいろ試してみたいと思います。

回答No.1

抽出される側のファイルはあなた自身がいじれるのですよね? そうしたらコメントを利用して判別する文字列を入れておけば良いと思います。例えば <!-- start --> <!-- end --> という文字列を抽出するブロックの頭とケツに入れておいて、正規表現でもいいですし、1行づつループしながら判定してもいいので、その内側を抽出する、という方法があると思います。

jyanpoke7
質問者

補足

wakame0729様 有難う御座います。 ファイルは両方自分で作成しております。 <!-- start --> <!-- end --> でマークを付けてその内側を抽出、出来るみたいですが、 それを、上から順番に別ファイルに表示して行きたいのですが どの様に、PHPで記述すればよいのでしょうか・・・ すいませんが、よろしくお願いいたします。

関連するQ&A