- ベストアンサー
htmlからPHPを呼び出す方法について教えてください
<script type="text/javascript" src="/init.php"></script> 楽天商品検索APIを利用したブログパーツの作成をPHPにて行っております。 公開されているサンプルソースを元にブログ上に指定したキーワードの 検索結果を表示させるPHPを作成しております。 HTML側にてPHPを呼び出す際に、PHPに記述したHTMLのソースを document.writeで囲って出力しようとしておりますが上手くいきません。 呼び出し側 <script type="text/javascript" src="/test.php"></script> ■test.php <?php //PHPソース(省略) $str_test = 'zzzzz'; header("Content-Type: application/x-javascript; charset=UTF-8"); echo " document.write(\"<table width=\"100%\" border=0 cellspacing=1 cellpadding=5 style=\"font-size:12px;\">\") document.write(\" <tr style=\"background-color: #ffffff;\">\") document.write(\" <td width=\"8%\" align=\"center\" rowspan=\"4\">\") document.write(\" abcde\") document.write(\" </td>\") document.write(\" <td width=\"8%\" align=\"center\" rowspan=\"4\">\") document.write(\" $str_test\") document.write(\" </td>\") document.write(\" </tr>\") document.write(\"</table>\") "; ?> 上記の様にダブルクォートをエスケープしたのですが 呼び出し側には何も表示されませんでした。 document.writeにて下記の様に記述した場合は表示されましたので 上記ソースの何処かが間違っているのは分かったのですが そこから先に進めず困っております。 ■表示された例 echo " document.write(\"$str_test\") "; 解決策、別案などありましたらご教授いただけたら幸いです。 どうぞよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ダブルクォーテーションが競合していますね。 document.write("・・・"xxx"・・・"); みたいな書き方はだめです どちらかをシングルクォーテーションに差し替えてください document.write('・・・"xxx"・・・');
その他の回答 (2)
- masa6272
- ベストアンサー率66% (93/140)
XHTML的に言えば、 document.write(\"<table width=\\\"100%\\\" border=\\\"0\\\" cellspacing=\\\"1\\\" cellpadding=\\\"5\\\" style=\\\"font-size:12px;\\\">\") ですね。 数値などはダブルクォートで囲まなくても動くことは動きますが、文法的には、こっちの方が正解です。
お礼
masa6272様 ご回答ありがとうございます。 HTMLをかじった程度の知識しか持ち合わせておりませんが HTMLの初歩を思い出しました。 参考になりました。ありがとうございました。
- masa6272
- ベストアンサー率66% (93/140)
document.write(\"<table width=\\\"100%\\\" border=0 cellspacing=1 cellpadding=5 style=\\\"font-size:12px;\\\">\") のように書いてもいいでしょう。 PHPで最初の\"が"に\\\"が\"になります。 結果として document.write("<table width=\"100%\" border=0 cellspacing=1 cellpadding=5 style=\"font-size:12px;\">") になります。
お礼
yambejp様 ご回答ありがとうございました。 無事動作させることが出来ました。