Wikiepdia APIリンクを使用して、世界的に有名なキャラクターに関する基本情報を取得します。
これは次のように表示されます
さて、私の質問
では、xmlを解析して、そのような基本的な情報を取得<extract></extract>
して表示したいと思います。
これが私の考えですが失敗しました(I / O警告:外部エンティティのロードに失敗しました)
<?PHP
$url = 'http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=Dave Longaberger&format=xml&exintro=1';
$xml = simplexml_load_file($url);
// get extract
$text=$xml->pages[0]->extract;
// show title
echo $text;
?>
別のアイデアですが失敗しました(ストリームを開くことができませんでした:HTTPリクエストが失敗しました!)
<?PHP
function get_url_contents($url){
$crl = curl_init();
$timeout = 5;
curl_setopt ($crl, CURLOPT_URL,$url);
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
$ret = curl_exec($crl);
curl_close($crl);
return $ret;
}
$url = "http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=Dave Longaberger&format=xml&exintro=1";
$text = file_get_contents($url);
echo $text;
?>
だからそれを行う方法についてのアイデア。〜ありがとう
更新(追加されたurlencodeまたはrawurlencodeがまだ機能しない後)
$name = "Dave Longaberger";
$name = urlencode($name);
$url = 'http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles='.$name.'&format=xml&exintro=1';
$text = file_get_contents($url);
また、機能していません
$url = 'http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=Dave Longaberger&format=xml&exintro=1';
$url = urlencode($url);
$text = file_get_contents($url);
または
$url = 'http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles='.rawurlencode('Dave Longaberger').'&format=xml&exintro=1';
$text = file_get_contents($url);
さて、どういうわけか不可能に見えるのか、本当にわかりません。