Avatar billede gnutella Nybegynder
05. maj 2004 - 12:36 Der er 13 kommentarer og
1 løsning

Java der søger i HTML dokument

Hej Alle Eksperter.

Jeg vil gerne vide om jeg kan få et java script eller noget andet, til at søge efter tegn eller sætninger i et html dokument?

Søge teksten kunne eks. være:
bc-test eller hej@

Mvh
Jesper Larsen
Avatar billede olebole Juniormester
05. maj 2004 - 13:19 #1
<ole>

Hvor ligger dokumentet, der søger - og hvor ligger dokumentet, der skal søges i?
Hvad teksten 'kunne være' er uinteressant - hvad teksten skal være, er langt mere interessant  :)

/mvh
</bole>
Avatar billede gnutella Nybegynder
05. maj 2004 - 13:46 #2
jamen det er et html dokument, der ændre sig af og til!

Den indeholder mail adresser - hvis det kan hjælpe?

Dokumentet der søger ligger på min web server og dokumentet der skal søges i er i samme mappe på serveren.
Avatar billede olebole Juniormester
05. maj 2004 - 14:08 #3
Hvad er det, du skal søge efter?
Avatar billede olebole Juniormester
05. maj 2004 - 14:09 #4
... og hvad skal der ske, hvis strengen findes?
Avatar billede gnutella Nybegynder
05. maj 2004 - 14:25 #5
Det er fordi jeg har en mailliste, hvor jeg gerne vil kunne søge efter medlemmer! Hvis strengen findes, skal alle hvor søgestrengen indgår blive vist under feltet hvori søge strengen står.
Eks kunne være google.dk bare ikke så avanceret!

Håber det hjalp lidt...
Avatar billede roenving Novice
05. maj 2004 - 19:11 #6
Hvordan har du listen med mailadresser i dokumentet ?-)

En måde at gøre det på, kunne være at loade dokumentet i en iframe og gennemsøge det for forekomster af søgestrengen, men så skal vi finde ud af, hvordan punkter i listen afgrænses m.v.
Avatar billede gnutella Nybegynder
05. maj 2004 - 22:11 #7
Mailadresserne er skrevet således:
test@test.dk, test@test.dk - sådan går det der ud af.
HTML dokumentet indeholder hverken <html>, <head> eller <body> sektioner. Det er ren tekst, som et .txt dokument bare med efternavnet .html
Avatar billede roenving Novice
05. maj 2004 - 23:40 #8
Uanset hvad dokumentet indeholder fra start, vil en browser lægge grundstrukturen af et html-dokument ind ...

Men sådan:

<script language="javascript" type="text/javascript">
var soeg = "est@";
var x = "1test@test.dk, 2test@test.dk, 3test@test.dk, test4@test.dk, test5@test.dk"
var y = x.split(",");
var z = new Array();
for(i=0;y.length>i;i++)if(y[i].indexOf(soeg)>-1)z[z.length]=y[i].substring((y[i].match(/\s/))?1:0);
alert(z.length+"\n"+z);
</script>


x kan du så hente i iframen med:

var x = window.IFRAMENAME.document.body.innerHTML;

-- så har du et array (z) som du kan lægge i din liste !-)
Avatar billede gnutella Nybegynder
06. maj 2004 - 10:18 #9
Jeg er ikke den store java programmør! Hvor skal jeg indsætte javascriptet og hvor skal jeg indsætte:
var x = window.IFRAMENAME.document.body.innerHTML;
og array Z - Er det:
new Array();
som jeg skal indsætte og hvor?

Håber ikke jeg lyder for dum, men jeg kender kun til HTML, lidt access, samt lidt PHP!
Avatar billede roenving Novice
07. maj 2004 - 18:11 #10
Jamen, så er her en virkende demo:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Læs fra txt-fil i iframe til select</title>
<meta name="Generator" content="Stone's WebWriter 4">
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/496122">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
/* Test-indstillinger, ændr dem til 0px, når du har set det virke !-) */
#adresser{width:100px;height:100px;}
#minSelect{width:200px;}
</style>
<script language="javascript" type="text/javascript">
function soeg(f){
  var s = f.soegMail.value;
  if(!s)return;
  var x = window.adresser.document.body.innerHTML.replace(/<\/?pre>/ig,"").toLowerCase();
  var y = x.split(",");
  var z = new Array();
  for(i=0;y.length>i;i++)if(y[i].indexOf(s)>-1)z[z.length]=y[i].replace(/\s/g,"");
  if(z.length==0)return;
  sel = f.minSelect;
  sel.length = 0;
  for(i=0;z.length>i;i++){
    newOpt = document.createElement('OPTION');
    sel.appendChild(newOpt);
    newOpt.text = z[i];
    newOpt.value = z[i];
  }
}
function adresse(f){
  var fld = f.mailto;
  fld.value = fld.value.replace(fld.defaultValue,"").toLowerCase();
  var sel = f.minSelect,first=(fld.value=="");
  alert(first);
  if(sel.selectedIndex>=0){
    for(i=0;sel.length>i;i++){
      if(sel.options[i].selected&&fld.value.indexOf(sel.options[i].value)==-1){
        fld.value += ((first)?"":",") + sel.options[i].value;
        first = false;
      }
    }
  }
  alert(fld.value);
return false;
}
</script>
</head>
<body>
<br>
<form id="minForm" name="minForm" onsubmit="return adresse(this);">
Send til: <input id="mailto" name="mailto" type="text" value="mailadresse@domain.dk" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="100"><br>
<select name="minSelect" id="minSelect" multiple="multiple" size="4">
</select>
<br>
Søg navn: <input id="soegMail" name="soegMail" type="text" value="" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">&nbsp;
<button onclick="soeg(this.form);return false;">Søg</button><br>
<br>
<input type="submit" value="Send">
<br>
</form>
<iframe src="adresser.txt" id="adresser" name="adresser"></iframe>
</body>
</html>
Avatar billede roenving Novice
18. juni 2004 - 21:29 #11
Kunne du bruge det ?-)
Avatar billede gnutella Nybegynder
23. juni 2004 - 10:21 #12
Sorry jeg havde helt glemt det her spg. Ja jaaaa roenvig! det funger! Smid et svar og der er point til dig
Avatar billede roenving Novice
27. juni 2004 - 18:42 #13
Velbekomme '-)
Avatar billede roenving Novice
15. august 2004 - 22:11 #14
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester