Salve a tutti! Dato che ho cercato per giorni ma non ho trovato granchè.. Ho questo script:

codice:
<html>
<head>
<script>
<!--
var item = new Array();

/* "Nome pagina","percorso","Titolo pagina","parole,chiave,Key,Words","Descrizione e Commenti"*/
c=0; item[c]=new Array("index.html","","home page","index,Main,start,home,ricerca","home page");
c++; item[c]=new Array("news.html","","prova news","news,banner,altre parole","news"); // riga da copiare per ogni pagina da cercare
c++; item[c]=new Array("orologio sul titolo.html","","orologio","orologio,titolo,ora,ore,minuti,minuto,secondi,secondo","script con orologio sul titolo e barra"); // riga da copiare per ogni pagina da cercare

page="<html><head><title> Risultati ricerca </title></head><body><center><table border=1 cellspacing=1 width=80%>";
function search(frm)
{win = window.open("","","width=300,height=300 scrollbars=1 toolbar=0 menubar=0");
win.document.write(page);
txt = frm.srchval.value.toLowerCase().split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++)
{fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)for (k = 0; k < txt.length; k++)if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++)
{
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.document.write("</table>
Parole trovate: "+total+"
</body></html>");
win.document.close();
}
function show(which,wind,num)
{
link = item[which][1] + item[which][0];
line = "<tr><td>"+item[which][2]+" Punti: "+num+"
";
line += item[which][4] + "</td></tr>";
wind.document.write(line);
return 1;
}
// End -->
</SCRIPT>

</head>
<body>





<form method=get action="javascript:void(0)" onsubmit="search(this); return false;">
<input type=text name=srchval value="">
<input type=submit value=" Cerca nel sito">
</form>
Prova a cercare "news" oppure "orologio".
</body>
</html>
Sarebbe un motore di ricerca, l'unico problema è che i risultati si aprono in una finestra popup mentre vorrei che si aprissero nella finestra corrente, magari in una pagina scelta e non nella corrente (per esempio si aprono SEMPRE nella pagina risultati.php). Come dovrei fare?

P.S. se trovate un motore di ricerca FREE professionale e possibilmente in PHP (non MySQL) fatemi sapere!

-------------------------------------------------

Ho trovato questa come risposta nel web:

Il modo più veloce dovrebbe essere questo:

1. Elimina la prima riga della funzione search(), e sostituiscila con un più semplice self.document.open ();

2. Sempre nella funzione search(), sostituisci tutti i riferimenti all'oggetto win con self

Dovresti quindi ottenere i risultati sulla stessa finestra che li ha lanciati. Attenzione, però: perderai anche i riferimenti al motore, quindi aggiungi anche un link alla stessa pagina, in modo che i tuoi visitatori possano ripetere la ricerca.
Ma non riesco bene a modificare (non so molto di js..)