PDA

View Full Version : Search script



X-Tream
05-31-2011, 11:56 AM
Hi.

So I have a search script which fetches all of the links from my sites. To see what I mean: http://netti-tv.net/wotlol.php ( language is Finnish ) Just type "uutiset" etc. in the "haku" (search) box.

It works just like it should, but there are some words I don't want it to it list in the "result page". These words are: "unohdin salasanani" and "rekisteröidy". So could someone please modify the code so that you can make exceptions to which words it doesn't fetch?

Javascript code:

/*Simple search v1.1 beta

ChangeLog:
1.1: Korjattiin ongelma jonka vuokis linkit eivät toimineet, korjaus tapahtui lisäämällä 250ms viive valikon piilottamiseen
*/

//Tämä lisää hakukentän ja säilön hakutuloksille

function initSearch()
{
document.writeln("<form id=\"searchForm\">");
document.writeln("Haku<br /><input type=\"text\" id=\"searchText\" onkeyup=\"search()\" onfocus=\"showResults()\" onblur=\"setTimeout('hideResults()',250);\" autocomplete=\"off\" />");
document.writeln("<div id=\"searchResults\"></div></form>");
}

//Hakee sivulta löytyvistä linkeistä hakusanaa vastaavia linkkejä. Kirjainkoolla ei ole väliä
function search()
{
var searchStr=document.getElementById("searchText").value.toLowerCase();
var found="";
document.getElementById("searchResults").innerHTML=" ";
if(searchStr!="")
{
//Käydään sivulta löytyvät linkit läpi
for(i=0;i<document.links.length;i++)
{
link=document.links[i];
//Lisätään löydettyihin jos vastaava löytyy, kyseessä on a-tagi ja sisältää vain tekstiä
if(link.innerHTML.toLowerCase().indexOf(searchStr)!=-1 && link.tagName=="A" && link.firstChild.nodeType==3)
found+="<a href=\""+link.href+"\" target=\"_blank\">"+link.innerHTML+"</a>";

}
if(found.length>0)
{
document.getElementById("searchResults").innerHTML=found;
showResults();
}
else
{
hideResults();
}

}
}
function hideResults()
{
document.getElementById("searchResults").style.visibility="hidden";
}
function showResults()
{
document.getElementById("searchResults").style.visibility="visible";
}

I'm sorry for my bad English, but I hope someone understand what i'm after. This would mean a lot for me if someone could modify the code for me...

vwphillips
05-31-2011, 01:33 PM
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title></title>
</head>

<body>

<div id="searchResults" ></div>
<script type="text/javascript">
/*<![CDATA[*/
function initSearch()
{
document.writeln("<form id=\"searchForm\">");
document.writeln("Haku<br /><input type=\"text\" id=\"searchText\" onkeyup=\"search()\" onfocus=\"showResults()\" onblur=\"setTimeout('hideResults()',250);\" autocomplete=\"off\" />");
document.writeln("<div id=\"searchResults\"></div></form>");
}

var exclude=['tom tom','joe joe'];

//Hakee sivulta löytyvistä linkeistä hakusanaa vastaavia linkkejä. Kirjainkoolla ei ole väliä
function search(){
var obj=document.getElementById("searchResults"),searchStr=document.getElementById("searchText").value.toLowerCase(),found="",link,ok,txt,z0,i=0;
obj.innerHTML=" ";
if(searchStr!="") {
//Käydään sivulta löytyvät linkit läpi
for(;i<document.links.length;i++){
link=document.links[i];
ok=true;
txt=link.innerHTML.toLowerCase();
for (z0=0;z0<exclude.length;z0++){
if(txt==exclude[z0].toLowerCase() && link.firstChild.nodeType==3){
ok=false;
}
}
//Lisätään löydettyihin jos vastaava löytyy, kyseessä on a-tagi ja sisältää vain tekstiä
if(ok&&txt.indexOf(searchStr)!=-1 && link.firstChild.nodeType==3){
found+="<a href=\""+link.href+"\" target=\"_blank\">"+link.innerHTML+"</a>";
}
}
if(found.length>0){
obj.innerHTML=found;
showResults();
}
else {
hideResults();
}
}
}

function hideResults(){
document.getElementById("searchResults").style.visibility="hidden";
}

function showResults(){
document.getElementById("searchResults").style.visibility="visible";
}
initSearch();
/*]]>*/
</script>

<a href="#">**** ****</a>
<a href="#">tom tom</a>
<a href="#">joe joe</a>
</body>

</html>

X-Tream
05-31-2011, 08:07 PM
Thank you for helping me dude! It's now working perfectly. (: