0

How do I extract data from JSON with PHP?よりも簡単な説明が必要です。また、最終的な PHP のタイムスタンプから日付を削除する必要もあります。

この方法で、Wikipedia JSON API を介して PHP の「テスト記事」メタデータを取得できます。

<?php 
$json_string = file_get_contents("https://en.wikipedia.org/w/api.php?action=query&titles=Test_article&prop=revisions&rvlimit=1&format=json"); 
print $json_string;
?>

これは私にこれを与えます:

{"continue":{"rvcontinue":"20161025140129|746140638","continue":"||"},"query":
{"normalized":[{"from":"Test_article","to":"Test article"}],"pages":{"29005947":
{"pageid":29005947,"ns":0,"title":"Test article","revisions":
[{"revid":746140679,"parentid":746140638,"user":"Theblackmidi72",
"timestamp":"2016-10-25T14:01:47Z","comment":"Undid revision 746140638 by
[[Special:Contributions/Theblackmidi72|Theblackmidi72]] ([[User 
talk:Theblackmidi72|talk]])"}]}}}}

しかし、タイムスタンプから日付だけを取得してエコー/印刷するにはどうすれば"timestamp":"2016-10-25T14:01:47Z"よいですか?

最初に完全な文字列016-10-25T14:01:47Zを取得してから、そこから を削除する必要があると思いますT14:01:47Z

編集 11/25/16ジェフの答えはうまく機能し、関数をショートコードに変換して、投稿/ページのコンテンツに挿入できるようにしました。

function wikipedia_article_date() {

$url = "https://en.wikipedia.org/w/api.php?action=query&titles=Test_article&prop=revisions&rvlimit=1&format=json";

$data = json_decode(file_get_contents($url), true);
$date = $data['query']['pages']['746140638']['revisions'][0]['timestamp'];

$date = new DateTime($date);
return $date->format('m-d-Y'); 
}

add_shortcode('article_date','wikipedia_article_date');

しかし今、私はPHP警告を受け取ります:

file_get_contents(https://en.wikipedia.org/w/api.php?action=query&
amp;titles=Test_article&amp;prop=revisions&amp;rvlimit=1&amp;format=json):
failed to open stream: no suitable wrapper could be found in 
/functions/shortcodes.php

これは私のショートコードの問題ですか、それとも元の関数の問題ですか?

4

1 に答える 1