wikipedia.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. function wikipedia_results($query)
  3. {
  4. require "config.php";
  5. require_once "misc/tools.php";
  6. $query_encoded = urlencode($query);
  7. $url = "https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts%7Cpageimages&exintro&explaintext&redirects=1&pithumbsize=500&titles=$query_encoded";
  8. $response = request($url);
  9. $json_response = json_decode($response, true);
  10. $first_page = array_values($json_response["query"]["pages"])[0];
  11. if (!array_key_exists("missing", $first_page))
  12. {
  13. $description = substr($first_page["extract"], 0, 250) . "...";
  14. if (strpos($description, "may refer to"))
  15. return;
  16. echo "<p class=\"special-result-container\">";
  17. if (array_key_exists("thumbnail", $first_page))
  18. {
  19. $img_src = $first_page["thumbnail"]["source"];
  20. $url = $first_page["thumbnail"]["source"];
  21. $image_response = request($url);
  22. $base64_image = base64_encode($image_response);
  23. echo "<a href=\"data:image/jpeg;base64,$base64_image\" target=\"_blank\">";
  24. echo "<img src=\"data:image/jpeg;base64,$base64_image\">";
  25. echo "</a>";
  26. }
  27. echo "$description";
  28. echo "<a href=\"https://en.wikipedia.org/wiki/$query\">";
  29. echo "Wikipedia";
  30. echo "</a>";
  31. echo "</p>";
  32. }
  33. }
  34. ?>