ďťż
Podstrony
|
telcocafeJeszcze wczoraj znalazłem temat o wyszukiwarce jej kod znajduje sie poniżej:<? function szukanie($szukane) { $szukaj = explode(" ", $szukane); $sciezki[] = "porady/"; $sciezki[] = "szukaj/"; // katalog, w którym jest skrypt $roz = "\.txt|\.html|\.htm"; for ($i=0;$i<count($sciezki);$i++) { $katalog = opendir($sciezki[$i]); while ($plik = readdir($katalog)) { if ($plik<>"." and $plik<>".." and !is_dir($sciezki[$i].$plik)) { if (eregi("($roz)($)",$plik)) $lista[] = $sciezki[$i].$plik; } } closedir($katalog); } $ile = count($lista); for ($i=0;$i<$ile;$i++) { $f = fopen($lista[$i], "r"); $zawartosc = fread($f, filesize($lista[$i])); fclose($f); $jest = "tak"; $ileszuk=count($szukaj); for ($j=0;$j<$ileszuk;$j++) { preg_match_all("/".$szukaj[$j]."/i", $zawartosc, $li); if (count($li[0])<1) {$jest="nie"; break;} } if ($jest=="tak") $sa[] = $lista[$i]; } $ile = count($sa); if ($ile>0) { sort($sa); for ($i=0;$i<$ile;$i++) { echo "<br /><a href=\"".$sa[$i]."\">" . $sa[$i]. "</a>"; } } } $szukane = $_GET["szukane"]; if ($szukane<>"") { szukanie($szukane); } else {echo "nie ma co szukać!"; } ?> Problem jest w tym, jak zrobić żeby skrypt nie wyświetlał nazwy odnośników gdzie znajduje sie fraza po wpisaniu do wyszukiwarki tylko wyświetlał znaki pomiędzy <title> a </title>. Użytkownik _Herkules_ edytował ten post 18 lipiec 2006, 11:46 Niezbyt po polsku Twoja wypowiedź, zrozumiałem z niej, że chcesz zrobić tak: echo '<title>'.$szukanie.'</title>'; ? Użytkownik Coldpeer edytował ten post 16 lipiec 2006, 12:18 Dorzuc preg_match("^<title>(.+?)</title>$^", $zawartosc, $tab); $ts[]=$tab[1]; po if (count($li[0])<1) {$jest="nie"; break;} oraz zamien echo "<br /><a href=\"".$sa[$i]."\">" . $sa[$i]. "</a>"; na echo '<br /><a href="'.$sa[$i].'">' . $ts[$i]. '</a>'; O to chodzi ? Zmodyfikowałem i tak nie wyświetla. Chodzi mi o to, że ten skrypt wyświetla mi odnośnik w takiej postaci np. porady/pilkanozna.html ale ja chcę żeby wyświetlał ciąg znakó pomiędzy tagami <title> a </title> czyli np. tak: Piłka nożna - porady Ale tagi <title></title> nie służą do wyświetlania tekstu/odnośniku na stronie, tyko na belce preglądarki (praca u podstaw) Użytkownik Ziombka edytował ten post 17 lipiec 2006, 09:39 Zobacz tą funkcję :D function szukanie($szukane) { $szukaj = explode(" ", $szukane); $sciezki[] = "porady/"; $sciezki[] = "szukaj/"; // katalog, w którym jest skrypt $roz = "\.txt|\.html|\.htm"; for ($i=0;$i<count($sciezki);$i++) { $katalog = opendir($sciezki[$i]); while ( $plik = readdir($katalog) ) { if ($plik<>"." and $plik<>".." and !is_dir($sciezki[$i].$plik)) { if (eregi("($roz)($)",$plik)) $lista[] = $sciezki[$i].$plik; } } closedir($katalog); } $ile = count($lista); for ($i=0;$i<$ile;$i++) { $f = fopen($lista[$i], "r"); $zawartosc = fread($f, filesize($lista[$i])); fclose($f); $jest = "tak"; $ileszuk=count($szukaj); for ($j=0;$j<$ileszuk;$j++) { preg_match_all("/".$szukaj[$j]."/i", $zawartosc, $li); if (count($li[0])<1) { $jest="nie"; break; } } // Znaleziono if ($jest=="tak") { if ( preg_match('/<title>(.*?)<\/title>/i', $zawartosc, $title) ) { $title = $title[1]; } else { $title = $lista[$i]; } $sa[] = array('filename' => $lista[$i], 'title' => $title); } } $ile = count($sa); if ($ile>0) { sort($sa); for ($i=0;$i<$ile;$i++) { echo "<br /><a href=\"".$sa[$i]['filename']."\">" . $sa[$i]['title']. "</a>"; } } } Poprawiłem ją tak aby wyświetlała tytuł i powinna to robić :P |
|||
Sitedesign by AltusUmbrae. |