電子書籍の厳選無料作品が豊富!

yahooのAPIで知恵袋サンプルプログラムで知恵袋質問でもサイトをコピーしてきたんですが、エラーが出てきて実行できません。
どのように変更すれば実行できますか?

これで解答いただいてアプリケーションIDを入れて実行したらエラーが出たためもう一度質問です。
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /opt/lampp/htdocs/www/sample3.php on line 28

エラーはこのようなエラーです。
よろしくお願いします。

<?php

/**
* Yahoo! JAPAN Web APIのご利用には、アプリケーションIDの登録が必要です。
* あなたが登録したアプリケーションIDを $appid に設定してお使いください。
* アプリケーションIDの登録URLは、こちらです↓
* http://e.developer.yahoo.co.jp/webservices/regis
*/
$appid = ''; // <-- ここにあなたのアプリケーションIDを設定してください。

$CHIE_SEARCH_API_HOST = 'chiebukuro.yahooapis.jp';
$CHIE_SEARCH_API_URL = '/Chiebukuro/V1/questionSearch';
$CHIE_SEARCH_API_APPID = $appid;

function escapestring($str) {
return htmlspecialchars($str, ENT_QUOTES);
}

print<<<EOM
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
<title>知恵袋デモサイト - 質問検索(php)</title>
</head>
<body>
<h1>知恵袋デモサイト - 質問検索(php)</h1>
EOM;
print '<form action="./'. basename($_SERVER['SCRIPT_NAME']) .'">';
print '<input type="text" name="query" value="' . escapestring($_GET

['query']) . '">';
print '<input type="submit" value="search">';
print '</form>';

if("" !== $_GET['query']){
$responseXML = '';
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://

${CHIE_SEARCH_API_HOST}${CHIE_SEARCH_API_URL}?appid=

${CHIE_SEARCH_API_APPID}&query=".urlencode($_GET['query']));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$responseXML = curl_exec($curl);
curl_close($curl);
}
{
$xmlObj = simplexml_load_string($responseXML);
foreach($xmlObj->{'Result'}->{'Question'} as $que) {
print("<li>{$que->{'Content'}}<br><a href=\"{$que->{'Url'}}\">{$que->

{'Url'}}</a>\n");
}
}
}
print<<<EOM

<hr />
<!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->
<a href="http://developer.yahoo.co.jp/about">
<img src="http://i.yimg.jp/images/yjdn/yjdn_attbtn2_105_17 … width="105"

height="17" title="Webサービス by Yahoo! JAPAN" alt="Webサービス by Yahoo!

JAPAN" border="0" style="margin:15px 15px 15px 15px"></a>
<!-- End Yahoo! JAPAN Web Services Attribution Snippet -->

</body>
</html>
EOM;

?>

A 回答 (1件)

こちらでコピペして実行する限りでは、問題なく動作します。



27行目の

EOM;

の前後に空白があったりはしませんか。コピペしたのであればEの左側やセミコロンの右側に空白が混じっている可能性があります(ヒアドキュメントの終端なので EOM; 以外のいかなる文字も許されません)。

http://www.php.net/manual/ja/language.types.stri …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!