Smarty&simple_html_domでのスクレイピングについて


現在製作中のサイトに、他サイトからHTMLを読み込みたくて調べたところ、
simple_html_domを使用するのが便利だと言うところまでは辿り着き、HTMLの読み込みにも成功したのですが、
Smartyのテンプレート内での読み込みが出来ません。

現在の状況として、

スクレイピングを実行するPHPファイルと、
http://insight-web.sakura.ne.jp/mailbbs.php
ファイル内記述
<?php
include('simple_html_dom.php');
$html = file_get_html('http://www.cityheaven.net/k/bucho_kacho/A5GirlKeitaiDiaryList/');

foreach($html->find('#diary_photo') as $e)
echo $e->outertext;
?>


テンプレートを読み込むPHPファイル
http://insight-web.sakura.ne.jp/top.php
ファイル内記述
<script type="text/javascript">
$(document).ready(function() {
$("#photodiary_box>ul>li").load("mailbbs.php #diary_photo");
});
</script>

スクレイピングを実行したPHPファイルを読み込むTPLファイルの3点で表示しています。
TPLファイル内でのスクレイピング実行PHPファイル読み込みはJavaScriptで実行されています。

このTPLファイル内でJavaScriptで読み込んでいる部分を、
直接HTMLの読み込みに変更したいのです。

お分かりの方、ご教授の程お願い致します。

回答の条件
  • 1人50回まで
  • 13歳以上
  • 登録:2012/03/21 18:36:20
  • 終了:2012/03/28 18:40:14

ベストアンサー

id:TransFreeBSD No.1

TransFreeBSD回答回数654ベストアンサー獲得回数2632012/03/21 22:58:31

Smartyはよく知りませんが、echoで直接出力しているのを、変数に代入するようにして、それをSmartyで使えるようにすれば良いのではないでしょうか。

echo $e->outertext;

$diary_photo .= $e->outertext;

$smarty->assign("diary_photo", $diary_photo);

あとは「#photodiary_box>ul>li」の位置で「{$diary_photo}」
と言う感じ?

id:testaishi

ありがとうございます!出来ました!!
http://insight-web.sakura.ne.jp/top.php

2012/03/21 23:32:57

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません