vyhledavani ve strankach

ahoj,
chtel bych vytvorit nejake prohledavani mych stranek podle klicovych slov. Nejsem nijak zkuseny uzivatel, pisu to v M$ FP, ale pochopil jsem, ze tady se s podporou jeho utilitek nechytnu.
Asi by slo neco naprogramovat, ale php neumim a nez bych se to naucil...
Podporuje WZ nejake jine utility pro muj ucel, jako treba htdig.org?
Ahoj ja pouivam tento skriptik, tak snad ti pomuze :-).


<SCRIPT Language="JavaScript" type="text/javascript">
var NS4 = (document.layers);
var IE4 = (document.all);
//vsem zname vlastnosti prohlizecu
var n = 0;

function findInPage(str){
var txt, i, found;
if (str == "") return false;
//pokud je parametr prazdny funkce se ukonci
if (NS4){
if (!this.find(str)) while(this.find(str, false, true)) n++;
else n++;
if (n == 0) alert(str + " se nenachází na stránce.");
}
if (IE4){
txt = document.body.createTextRange();
//vytvoreni objektu TextRange
for ( i = 0; i <= n && (found = txt.findText(str)); i++) {
txt.moveStart("character", 1);
//zacatek range se posune o znak dopredu
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
n = 0;
findInPage(str);
}
else alert(str + " se nenachází na stránce.");
}
}
return false
}

</SCRIPT>
<form name="search" action="" onSubmit="return findInPage(this.string.value);"> Najdi: <input type="text" size="20" name="string" onchange="n = 0;"> <input type="submit" value="hledat"> </form">
wough, to byla rychlost. dekuji mnohokrat. bohuzel mi to vsak moc nepomohlo. jestli to chapu dobre, tak to jenom prohledava stranku, na ktere je skropt umisten. Asi jsem svuj dotaz neformuloval spravne. Ja potrebuji prohledat cely site, aby mi to vyhodilo stranku se seznamem vysledku prohledavani, takovy maly lokalni googlik ;-)
problematika vyhledavani je celkem rozsahla, jestli to s php nemyslis vazne, tak bych ti dpoporucoval udelat hledani pres googla - asi se bez php stejne neobejdes (slo by to sice vyresit pres javascript, ale nebylo by to prilis elegantni)

vtip by byl v tom, ze posles klientovy hlavicku

Location: http://www.google.com/search?q=hledanej_text%20site:tvoje-stranky-na-webzdarma.cz&ie=UTF-8&oe=UTF-8&hl=cs&lr=
Jo, tohle uz je presne ta funkce kterou potrebuji. Diky diky. Ale stale jeste nejsem zcela spokojeny. Google asi prohledava jenom to, co uz mu jeho robot oindexoval a me nezbyde, nez pasivne cekat, az me oskenuje. pak je tu problem, ze tahle hlavicka neumi cesky, ale to asi bude jen otazka zmeny nebo pridani jednoho parametru. Ach jo. :-(
Zkus tohle...

BORDER="0"></TD>
<!-- Atomz sem si napiš co chceš-->
<form method="get" action="http://search.atomz.com/search/">
<TD ALIGN="right">
<TABLE BORDER=0>
<TR><TD><input size=20 name="sp-q"></TD>
<TD><input type=submit value="Text tlačítka"></TD></TR>
<input type=hidden name="sp-a" value="sp100145da">
</TABLE></form>
<!-- End SearchForm -->
> ta hlavicka neumi cesky

ale? google tusim defaultne zere pozadavky v utf-8, tj. umi i cinsky ;-)
jedinej problem muze byt v tom, ze se bude pozadavek zadavat do formulare v tvy strance, kterou mas napsanou v jinym kodovani; to se da vyresit jako
<form accept-charset='utf-8' ... >
> Tricky_one


To je sice hezký, ale na AtomZ se musíš zaregistrovat, napsat adresu, nastavit jazyk, uložit template stránky, která se to zobrazí s výsledky, nastavit, které soubory se mají indexovat a pak je zaindexovat...


Nejde jenom zkopírovat formulář.

viz www.AtomZ.com
-zkratka ja doporucuju googla, umi hledat dost dobre...
hmmm, tak o tom premyslim, takove php ....
A jak by to šlo s PHP? To bych musel všechny slova zapisovat do databáze a ta tu má jen 2MB, takže to moc dobře nepůjde, ne? Nebo to jde i jinak?
Ne, neni treba. Pokazde se provadi prohledavani celeho adresare.
Neco jako:

for ($i=0; $i < count($seznamSouboru); $i++) {

$nazevSouboru = $seznamAdresaru[$i] . "/" . $seznamSouboru[$i];
$ukazatelSoubor = fopen ($cestaKeStrance . "/" . $nazevSouboru,"r");
$obsahSouboru = fread ($ukazatelSoubor, filesize ($cestaKeStrance . "/" . $nazevSouboru));

$nalezeno = stristr($obsahSouboru, $hledanyVyraz);
if ($nalezeno) {

$nalezeneSoubory[$j] = substr($seznamSouboru[$i], 0, strlen($seznamSouboru[$i]) - 4);
$nalezeneAdresare[$j] = $seznamAdresaru[$i];
$j +=1;
}
fclose ($ukazatelSoubor);
}

/* vypsani nalezenych souboru */

if (count($nalezeneSoubory) == 0) {

echo $chybovaHlaska2;
No nejlepší vyhledávání je přes AtomZ.com jediný problém je, že když neumíte anglicky tak si můžete ;) (pokud se nemýlim)
Jsem si jisty, ze mas pravdu. Nicmene skript, co jsem tu uvedl, jsem odladil a umistil na stranku a funguje naprosto perfektne. Alespon pro me ucely. Takze diky...
Tak vono to de i bez zapsání všech slov do databáze? Ty kráso... :o} To je Amerika :o}

Jen ještě jedna věc- Jak to mam udělat? :o} Moc to z toho příkladu nechápu. Co jsou ty proměnný:

$nazevSouboru
$seznamAdresaru
$ukazatelSoubor
$cestaKeStrance
$obsahSouboru


Díky moc za odpověď (předem :o})
Uvedl jsem tam jenom to prohledavani, jeste tomu predchazi , rekneme, indexace souboru a adresaru toho sajtu. To vypada asi takhle:

$nalezeneSoubory = array ();
$nalezeneAdresare = array ();
$seznamSouboru = array ();
$seznamAdresaru = array ();

if ($hledanyVyraz == "") {

echo $chybovaHlaska1;

} else {

if ($celeSlovo == "ano")
$hledanyVyraz = " " . $hledanyVyraz . " ";

/* prohledani adresare */

$i = 0;

function prohledavaniAdresare($nazevAdresare) {

global $i;
global $seznamSouboru;
global $seznamAdresaru;
global $typSouboru;
global $cestaKeStrance;

$ukazatelAdresar = opendir ($cestaKeStrance . "/" . $nazevAdresare);
$nazevSouboru = readdir($ukazatelAdresar);

while ($nazevSouboru != false) {

if ($nazevSouboru != "." && $nazevSouboru != "..") {

if (is_file($cestaKeStrance . "/" . $nazevAdresare . "/" . $nazevSouboru) &&
substr($nazevSouboru, strlen($nazevSouboru) - 4) == $typSouboru) {

$seznamSouboru[$i] = $nazevSouboru;
$seznamAdresaru[$i] = $nazevAdresare;
$i += 1;

} elseif (is_dir($cestaKeStrance . "/" . $nazevAdresare . "/" . $nazevSouboru)) {

prohledavaniAdresare($nazevAdresare . "/" . $nazevSouboru);

}

}

$nazevSouboru = readdir($ukazatelAdresar);
}

closedir ($ukazatelAdresar);

}

prohledavaniAdresare($cestaKeClankum);

Ne ze bych tomu tolik rozumel, oprasknul jsem to ze stranky meho brachy, znaleho pehapkare. Ale funguje to. Jestli to chces vyzkouset, bud vitan na tvrdiaak.kvalitne.cz ...