Jeg har en mappe fyldt med xml filer ("/nyheder") som ligner den underståendene,
Jeg vil gerne have en søge fungsion der virker under search.php?search=SØGEORD
Når den har fundet et eller flere ord skal den lave en liste med brug af:
<news no="1">
<navn>OVERSKRIFT</navn>
<tekst>EN KORT TEKST</tekst>
Så ledes kan en fil se ud:
"nyheder/news.xml
<?xml version='1.0' encoding='UTF8'?>
<newst>
<news no="2">
<navn>OVERSKRIFT</navn>
<startdato>START DATO</startdato>
<stopdato>SLUT DATO</stopdato>
<pic>LILE BILLEDE</pic>
<fpic>STORT BILLEDE</fpic>
<tekst>KORT TEKST PÅ MAX 106 TEGN</tekst>
<fulltekst>LANG TEKST</fulltekst>
<readlink>LINK URL</readlink>
<readtext>LINK TEKST</readtext>
</news>
<news no="1">
<navn>Nyhed nr. 1</navn>
<startdato>13.11.09</startdato>
<stopdato>20.12.09</stopdato>
<pic>temp01.png</pic>
<fpic>temp01.png</fpic>
<tekst>Dette er den korte test tekst af news.xml nummer 1, her kan det ses om den aksepterer æ eller ø og å.</tekst>
<fulltekst>fra fil news.xml Dette er den lange test tekst af nyhed nummer 1, her kan det ses om den aksepterer æ eller ø og å.</fulltekst>
<readlink>?news=1</readlink>
<readtext>Læs mere</readtext>
</news>
</newst>
Der er ca. 15 xml filer i mappen
Der vil blive foretaget under 80 søgninger om dagen.
I de fleste filer er der ca. 100 emner
Søger man eksempelvis:
search.php?search=experten
skal den tjekke de 15 filer efter ordet "experten" i følgendene grupper:
<navn>OVERSKRIFT</navn>
<tekst>KORT TEKST</tekst>
<fulltekst>LANG TEKST</fulltekst>
EKSEMPELVIS:
2 XML FILER HAR ORDET
<navn>Så køre det.</navn>
<tekst>Jeg surfet meget på Internettet.</tekst>
<fulltekst>jeg surfer meget på nettet her dag.</fulltekst>
"nyheder/news.xml" i en fil som denne er der ca. 50 emner
<navn>Så køre det.</navn>
<startdato>13.11.09</startdato>
<stopdato>20.12.09</stopdato>
<pic>temp01.png</pic>
<fpic>temp01.png</fpic>
<tekst>Jeg surfer meget på Internettet.</tekst>
<fulltekst>jeg surfer meget på nettet her dag og læser meget på experten.</fulltekst>
<readlink>?news=1</readlink>
<readtext>Læs mere</readtext>
"nyheder/arkiv.xml" i en fil som denne er det op til ca 500 emner
<navn>Vægt experten.</navn>
<startdato>16.12.09</startdato>
<stopdato>28.12.09</stopdato>
<pic>temp01.png</pic>
<fpic>temp01.png</fpic>
<tekst>Jeg er på kur og har tabt mig.</tekst>
<fulltekst>Jeg er på kur og går tit til vægt konsulenten for atfå et tjek.</fulltekst>
<readlink>?news=1</readlink>
<readtext>Læs mere</readtext>
Så skal søge siden visesig på følgendene måde:
Fandt følgendene resultat:
Så køre det. 13.11.09
Jeg surfer meget på Internettet.
Vægt experten. 16.12.09
Jeg er på kur og har tabt mig.
Hvis det hjælper så det tidligere script jeg brugertil at hente teksten ud med ser så ledes ud:
<?php
$rdr = new XMLReader();
$rdr->xmL(file_get_contents("nyheder/news.xml"));
$n = 0;
while($rdr->read()){
switch ($rdr->nodeType) {
case XMLReader::TEXT:
$s = $rdr->value;
break;
case XMLReader::ELEMENT:
if($rdr->localName == 'news') {
$no = $rdr->getAttribute('no');
}
break;
case XMLReader::END_ELEMENT:
if($rdr->localName == 'tekst') {
$tekst = $s;
} else if($rdr->localName == 'navn') {
$navn = $s;
} else if($rdr->localName == 'readlink') {
$readlink = $s;
} else if($rdr->localName == 'readtext') {
$readtext = $s;
} else if($rdr->localName == 'news') {
if ($n==2) continue;
echo "<p class=\"left\"><img src=\"images/dot_g.gif\" width=\"5\" height=\"5\" alt=\"\" border=\"0\" align=\"middle\"> <u>" . $navn . "</u><br>" . $tekst . "<br><a href=\"news.php?read=" . $readlink . "\">" . $readtext . "</a></p>";
$n++;
}
break;
}
}?>
Siden vil blive besøgt ca 5 gange dagligt.
Håber det hjælper lidt