09. juni 2005 - 19:10Der er
10 kommentarer og 1 løsning
Internet HTML kilde kode søgning
Det er sikkert mig der er dum, men jeg har brug for at søge på en hjemmeside efter en bestemt tekst i en tabel og omkring denne tekst er der placeret nogle tabel celler..
Dette betyder at jeg har en tabel der ser sådanne ud :
<tr> <td>tekst1</td> <td>tekst2</td> <td>tekst3</td> <td>tekst4</td> </tr> (siden indeholder ca 800 <tr> </tr> og det er KUN den hvor tekst3 er identisk med min søge tekst. Det jeg søger på er tekst3, som ikke er ukendt. men tekst1,tekst2,tekst4 er ukendt både af længde og tekst.
det som jeg gerne vil er at finde tekst3 også herefter tage det som er i tekst1 og tekst2 indtil <tr> og igen fra tekst 3 og til </tr>
Er der nogle der ved om det kan lade sig gøre ?
jeg bruger Microsoft Internet Control (Inet) som componentet hedder.
Nu er jeg ikke sikker på jeg fatter præcis hvad du vil søge efter, men uanset hvad det er, vil det kunne lade sig gøre.
Men - den tekst du skal gennemsøge, har du adgang til den - går spørgsmålet kun på at søge efter noget tekst, eller er det også et spørgsmål om at få adgang til HTML-siden?
Så skal du bare forklare betingelserne helt præcis...
Som jeg forstår det, skal du finde noget bestemt tekst mellem en <td> og en </td> - når den er fundet skal de to foregående <td></td> og den efterfølgende <td></td> gemmes i en string. Er det korrekt?
Er du sikker på, at den betingelse altid vil kunne opfyldes - at der er to før og en efter?
PS: Hvordan læser du i html-filen (ved ikke meget om inet) - et hele siden i en stor streng, i et array, læses linie for linie (hvordan) eller noget helt andet?
Det hele bliver hentet ind i en enkelt streng, som jeg så søger i.
Den side jeg henter er der ca. 3500 linier i så det bliver ikke til et array, det syntes jeg vil give alt for meget arbejde... men ved det ikke .. hvad du siger, man kunne sagtens lave en split, men jeg skal bare bruge grund reglerne til det med at finde den foregående tekst og den næste tekst, resten kan jeg så selv lave, hvis det er at der er mere eller mindre end de antal celler som jeg snakker om her.
Princip for en mulig løsning (forudsat, at spørgsmålet er som jeg har skitseret 10/06-2005 00:14:05)
Find din tekst - det skulle ikke være svært med InStr() Hvis det så var i et array, med en linie i hver post i arrayet, kunne du jo bare gå et antal poster tilbage.
Når det er en stor string, kan du så bruge instrrev 2 gange (hvor du jo søger på <td>)til at finde den forrige post, med udgangspunkt ved den position hvor du har fundet dit søgeord
Men som sagt - der er jo 1000 måder at gøre det på, og det afhænger jo af hvordan dine data ser ud - om der altid er to <td> før dit søgeord, f.eks.
oki lad os så som udgangs punkt sige at der altid er en formatering som jeg poster, for jeg vil bare så gerne igang med at teste det som jeg er igang med at lave.
Det er faktisk sådan at de fleste gange er der 2 stk <td> før det jeg søger på, og ellers er der en <td> før, så håber du bare kan brygge noget sammen til de 2 x <td> så vil jeg se om jeg kan finde en løsning på det andet.
Her sker der ikke mere og jeg valgte at bruge et array til at dele min side op, med hvor efter jeg så brugte count til at tælle frem til det søgte og tilbage til de andre informationer.
Synes godt om
Ny brugerNybegynder
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.