text.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. function get_text_results($query, $page=0)
  3. {
  4. require "config.php";
  5. require "misc/tools.php";
  6. $url = "https://www.google.$config_google_domain/search?&q=$query&start=$page&hl=$config_google_language";
  7. $response = request($url);
  8. $xpath = get_xpath($response);
  9. $results = array();
  10. foreach($xpath->query("//div[@id='search']//div[contains(@class, 'g')]") as $result)
  11. {
  12. $url = $xpath->evaluate(".//div[@class='yuRUbf']//a/@href", $result)[0];
  13. if ($url == null)
  14. continue;
  15. if (!empty($results)) // filter duplicate results
  16. if (end($results)["url"] == $url->textContent)
  17. continue;
  18. $url = $url->textContent;
  19. if ($config_replace_yt_with_invidious != null)
  20. {
  21. $url = str_replace("youtube.com", $config_replace_yt_with_invidious, $url);
  22. }
  23. $title = $xpath->evaluate(".//h3", $result)[0];
  24. $description = $xpath->evaluate(".//div[contains(@class, 'VwiC3b')]", $result)[0];
  25. array_push($results,
  26. array (
  27. "title" => htmlspecialchars($title->textContent),
  28. "url" => htmlspecialchars($url),
  29. "base_url" => htmlspecialchars(get_base_url($url)),
  30. "description" => $description == null ?
  31. "No description was provided for this site." :
  32. htmlspecialchars($description->textContent)
  33. )
  34. );
  35. }
  36. return $results;
  37. }
  38. function print_text_results($results)
  39. {
  40. global $query , $page;
  41. //check_for_special_search($query);
  42. echo "<div class=\"text-result-container\">";
  43. foreach($results as $result)
  44. {
  45. $title = $result["title"];
  46. $url = $result["url"];
  47. $base_url = $result["base_url"];
  48. $description = $result["description"];
  49. echo "<div class=\"text-result-wrapper\">";
  50. echo "<a href=\"$url\">";
  51. echo "$base_url";
  52. echo "<h2>$title</h2>";
  53. echo "</a>";
  54. echo "<span>$description</span>";
  55. echo "</div>";
  56. }
  57. echo "</div>";
  58. }
  59. ?>