Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z wyszukiwarką .
moto0095
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


Witam. Napotkałem problem z którym nie mogę sobie poradzić (IMG:style_emoticons/default/sad.gif)
Mam sobie wyszukiwarkę która w danym pliku szuka ciągu znaków który wpisaliśmy w pole input
I ja mam taką strukturę dokumentu:
  1. <html>
  2. <head>
  3. <?
  4. if(isset($_GET['BLA'])){
  5. echo "<title>BLA_BLAA</title>";
  6. }else
  7. if(isset($_GET['DDD'])){
  8. echo "<title>DDDDDDDDDDDDDDDDDDDDDDDD</title>";
  9. }
  10. echo "<title>AAAAAAAAAAAAAAAAAAAAAAAAAAA</title>";
  11. ?>
  12. <head>
  13. <dody>
  14. <?
  15. if(isset($_GET['BLA'])){
  16. echo "BLA_BLAA";
  17. }else
  18. if(isset($_GET['DDD'])){
  19. echo "DDDDDDDDDDDDDDDDDDDDDDDD";
  20. }
  21. echo "AAAAAAAAAAAAAAAAAAAAAAAAAAA";
  22. ?>
  23. </body>
  24. </html>


Wyszukiwarka ta zwraca wyniki w postaci
TYTUŁ - opis...

Jak wpiszemy np: DD to powinno zwrócić:
DDDDDDDDDDDDDDDDDDDDDDDD - DDDDDDDDDDDDDDDDDDDDDDDD

A wyświetla się :
BLA_BLAA -

Tytuł strony otrzymuję po przez funkcję :
  1. preg_match_all('#<title>(.*?)</title>#', $string, $wynik);


próbowałem zrobić coś takiego:
  1. preg_match_all('#if(isset($_GET['(.*?)'])){
  2. echo "<title>(.*?)</title>";#', $string, $wynik);


ale to nie działa.
I ja nie wiem jak zrobić tak aby wyświetlało się tak jak podałem wyżej (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował moto0095 22.04.2010, 15:41:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
moto0095
post
Post #2





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


To ja może dam kod wyszukiwarki:
  1. <?
  2. $szukane = $_POST['szukane'];
  3.  
  4. function drzewko($folder) {
  5. global $pliki;
  6. if($folder != "/") {
  7. $folder .= "/";
  8. }
  9. $id_f = opendir($folder);
  10. if($id_f) {
  11. while($plik = readdir($id_f)) {
  12. if($plik == '.' || $plik == '..') {
  13. continue;
  14. }
  15. if(is_dir($folder . $plik)) {
  16. drzewko($folder . $plik);
  17. } else {
  18. $pliki[] = $folder . $plik;
  19. }
  20. }
  21. closedir($id_f);
  22. }
  23. return $pliki;
  24. }
  25.  
  26. function czytelne($spis) {
  27. $rozszerzenie[] = "txt";
  28. $rozszerzenie[] = "dat";
  29. $rozszerzenie[] = "php";
  30. $rozszerzenie[] = "php3";
  31. $rozszerzenie[] = "phtml";
  32. $rozszerzenie[] = "htm";
  33. $rozszerzenie[] = "html";
  34. foreach($rozszerzenie as $roz) {
  35. $dl_roz = strlen($roz);
  36. foreach($spis as $plik) {
  37. if(substr($plik, -$dl_roz) == $roz) {
  38. $wynik[] = $plik;
  39. }
  40. }
  41. }
  42. return $wynik;
  43. }
  44.  
  45. //======================================================================
  46.  
  47. if(isset($szukane) && $szukane != '') {
  48. $szukane = ereg_replace("[\*\.\$/]", "", $szukane);
  49. $szukane_slowa = split("\ ", $szukane);
  50. array_unshift($szukane_slowa, $szukane);
  51. $ile_slow = count($szukane_slowa);
  52. unset($szukane);
  53.  
  54. $pliki = drzewko(".");
  55. $czytelne = czytelne($pliki);
  56. unset($pliki);
  57. sort($czytelne);
  58.  
  59.  
  60. //======================================================================
  61. function ciach($tresc,$ile)
  62. {
  63. $licz = strlen($tresc);
  64. if ($licz>=$ile)
  65. {
  66. $tnij = substr($tresc,0,$ile);
  67. $txt = $tnij."...";
  68. }
  69. else
  70. {
  71. $txt = $tresc;
  72. }
  73. return $txt;
  74. }
  75. //======================================================================
  76.  
  77.  
  78.  
  79.  
  80. foreach($czytelne as $plik) {
  81. $id_pliku = fopen($plik, "r");
  82. $zawartosc = fread($id_pliku, filesize($plik));
  83. for($i=0; $i < $ile_slow; $i++) {
  84. if(ereg($szukane_slowa[$i], $zawartosc)) {
  85.  
  86. $string = file_get_contents($katalog.$plik);
  87. preg_match_all('#<title>(.*?)</title>#', $string, $wynik);
  88.  
  89. $tresc = strip_tags($zawartosc);
  90. $ile = 100;
  91. $trafienia[] = "<a href='".$katalog.$plik."'>".$wynik[1][0]."</a> - ".ciach($tresc,$ile)."<br />";
  92. }
  93. }
  94. fclose($id_pliku);
  95. }
  96.  
  97. if(!isset($trafienia)) {
  98. echo "Niestety nie znaleziono nic co by pasowało do twojego zapytania. Powrót";
  99. } else {
  100. $trafienia = array_unique($trafienia);
  101. sort($trafienia);
  102. foreach($trafienia as $pojedyncze) {
  103. echo $pojedyncze .'';
  104. }
  105. }
  106. } else {
  107. echo "Przecież chciałeś czegoś szukać! Powrót";
  108. }
  109. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- moto0095   [PHP] Problem z wyszukiwarką .   22.04.2010, 15:41:17
- - tehaha   ale w takim czymś [PHP] pobierz, plaintext $_GET...   22.04.2010, 15:47:47
- - moto0095   (isset($_GET['BLA'])) - używam tego a...   22.04.2010, 17:16:32
- - tehaha   masz rację ale głupotę walnąłem, zasugerowałem się...   22.04.2010, 17:21:22
- - moto0095   Jak już napisałem wyszukiwarka wyświetla mi wyniki...   22.04.2010, 17:30:32
- - Kshyhoo   Czyli, jeżeli dobrze rozumiem, chcesz przypisać ...   22.04.2010, 17:33:13
- - moto0095   Tak   22.04.2010, 17:34:00
- - Kshyhoo   Hmm, nie rozumiem, co tu kombinować, skoro pobrałe...   22.04.2010, 17:44:26
- - moto0095   Nie o to tu chodzi. Może inaczej. Mam plik index.p...   22.04.2010, 17:52:01
- - Kshyhoo   No to: [PHP] pobierz, plaintext <?phpif(iss...   22.04.2010, 17:56:35
- - moto0095   Ale ta wyszukiwarka nie przeszukuje jednego pliku....   22.04.2010, 18:01:02
- - Kshyhoo   To nie istotne, gdzie wyszukuje, bo możesz w linku...   22.04.2010, 18:04:50
- - moto0095   To ja może dam kod wyszukiwarki: [PHP] pobierz, pl...   22.04.2010, 18:10:27
- - Kshyhoo   To ma być wyszukiwanie w treści artów, czy w plika...   22.04.2010, 18:14:06
- - moto0095   W treści artykułu. Jak widać tutaj [PHP] pobierz...   22.04.2010, 18:32:46
- - Kshyhoo   Nie kumam, co chcesz osiągnąć. Może ta funkcja Ci ...   22.04.2010, 18:40:55
- - moto0095   Zauważyłem, i postaram ci się może jakoś jaśnie wy...   22.04.2010, 19:10:16
- - Kshyhoo   Stary, wybacz, ale nie masz umiejętności przekazan...   22.04.2010, 19:14:53
- - moto0095   Ja po prostu nie wiem za bardzo jak to wytłumaczyć...   22.04.2010, 19:34:32
- - Kshyhoo   Skoro umiesz przekazać zmienną tak: [PHP] pobierz,...   22.04.2010, 19:35:06
- - moto0095   Ale mi nie chodzi o TITLE. Widzę ,że nadal się nie...   22.04.2010, 19:36:36
- - Kshyhoo   A o co chodzi? O link?   22.04.2010, 19:37:49
- - moto0095   CytatW inpucie wpisujemy np: dwa i powinno wyświet...   22.04.2010, 19:38:34
- - Kshyhoo   Takie coś? [PHP] pobierz, plaintext echo '<a hr...   22.04.2010, 19:40:26
- - moto0095   Nie za bardzo, ale już lepiej Zobacz jak szukam j...   22.04.2010, 20:20:51
- - Kshyhoo   Cytat(moto0095 @ 22.04.2010, 20:36:36...   22.04.2010, 20:43:27
- - moto0095   W wyświetlaniu wyników używam funkcji [PHP] pobier...   22.04.2010, 21:09:39
- - mortus   Zaraz po tym[PHP] pobierz, plaintext preg_match_al...   22.04.2010, 21:26:10
- - moto0095   Jeszce raz. Przeszukamy np plik szukane.php szuka...   22.04.2010, 21:39:11


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.12.2025 - 13:14