- ベストアンサー
ヒアドキュメントを中断してincludeする方法とは?
ホットペッパーAPIを使ってサイトを作っています。まだ知識が浅く分からないことが多いのですが、下記について教えて下さい。 <?php //サイト設定 $site['title'] = "APIサンプルサイト"; $site['url'] = "http://●●.jp"; $site['mojicode'] = "Shift_JIS"; $site['info'] = "ホットペッパービューティーAPIのサンプルです"; //XMLデータ取得用ベースURL $req = "http://webservice.recruit.co.jp/beauty/salon/v1/"; //リクエストパラメータ設定 $name = "◎◎"; $name_kana = "××"; //XMLデータ取得用リクエストURL生成 $req .= "?name=".$name."&name_kana=".$name_kana; $xml = simplexml_load_file($req) or die("XMLパースエラー"); //HTML出力 echo <<<HTML <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>{$site['title']}</title> </head> <body> <h1>{$site['title']}</h1> <hr> {$site['info']} <hr> {$xml->salon->name}<br> {$xml->salon->name_kana}<br> </body> </html> HTML; ?> ------------------------------------ (APIキーを省略しています) 上記の様に作成したページに <?php include_once '../include/commons.php'; ?> を入れて別のphpファイルを参照したいのですが、別の質問で 「表示したい位置でヒアドキュメントを中断して、そこでinclude 」 と教えて頂きました。Googleでいろいろと検索して調べたのですが、ヒアドキュメントを中断してincludeする方法が分かりません。 知識不足なのは承知ですが、どういうキーワードで調べたらいいかもよく分からない状況でして・・。 具体的にどう作業すればいいか教えて頂けないでしょうか。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
補足の内容ならヒアドキュメントに入る前にincludeしちゃえばよいのでは?? include_once '../include/commons.php'; //HTML出力 echo <<<HTML で、表示の時は 例えば {$xml->salon->name}<br> の前に入れるなら <hr> HTML; emoji('1'); print <<<HTML {$xml->salon->name}<br> これで出ないですかねぇ。。。とりあえず↓ HTML; <?php emoji('1');?> echo <<< HTML これだと <? の中でさらに<?の記述をしちゃってることになるのでNGです
その他の回答 (1)
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
PHPスクリプトの一番最初に書けばいいんではないですか? それともcommons.phpをincludeすることでHTMLか何かが出力されるのでしょうか? それなら //HTML出力 echo <<<HTML <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>{$site['title']}</title> </head> HTML; include_once '../include/commons.php'; echo <<< HTML <body> <h1>{$site['title']}</h1> <hr> {$site['info']} <hr> {$xml->salon->name}<br> {$xml->salon->name_kana}<br> </body> </html> HTML; とかでいいと思いますけど。
お礼
回答ありがとうございます! 上記の通りやってみました。 説明不足で申し訳ないのですが、絵文字を表示するために他のPHPファイルから読み込む必要があってこの様にしています。 表示させたいところへさらに <?php emoji('1');?> と入力する必要があります。 やってみましたが表示されませんでした。 そこで想像をふくらまして、 HTML; <?php emoji('1');?> echo <<< HTML としてみましたが、真白になりました(ナンセンスでしょうか・・・)
お礼
回答ありがとうございます! お礼がおそくなってすみません。 教えて頂いたとおりにやったらできました!! <?php ?>の使い方さえ良く分からなかったのですが おかげさまでなんとなく分かってきました。 まだ初歩中の初歩ですががんばります!