Avatar billede jahamnej Nybegynder
17. december 2004 - 10:36 Der er 81 kommentarer og
1 løsning

Søg i html sider

Halløjsa,

Jeg er ved at være godt træt af at finde en søgefunktion til min side. Jeg forsøgte at sætte noget op i perl, men det vil simpelthen ikke fungere på serveren, selvom hotellet tydeligvis tilbyder perl. Men det har vist noget med usikre og sikre scripts eller sårn... whatever... Det er jeg i hvertfald færdig med.

Nu vil jeg så høre om det er muligt at lave et php script som kan søge i mine html sider. Jeg har ledt meget efter en simpel løsning, som "bare" kigger i mine html filer. Ikke noget med database osv... Men det er umuligt (<- for mig i hvertfald) at finde noget.
Avatar billede jakobdo Ekspert
17. december 2004 - 10:52 #1
Du kunne jo læse en html fil ind i en variable, se om det du søger er i den variable, hvis ja, lave link til siden og gå videre til næste fil, hvis ikke, gå videre til næste fil.
Avatar billede jahamnej Nybegynder
17. december 2004 - 10:57 #2
Så du mener at sciptet har en liste over sider den skal søge i, hvor den så sorterer de sider uden det gældende ord fra?

Det lyder vel ok, men vil der så være mulighed for at vise noget af sidens indhold. Nu snakker vi ikke så avanceret som google, men bare at brugeren lige for lidt mere end sidens titel
Avatar billede jakobdo Ekspert
17. december 2004 - 10:58 #3
Det burde være muligt ja!
Og du kan lave HTML siderne statis, eller du kan lægge alle HTML filer i en mappe, og så søger vi bare den mappe igennem!
Avatar billede jahamnej Nybegynder
17. december 2004 - 11:08 #4
Lige nu har jeg dem alle i en mappe, som  min template finder filerne fra, så det vil nok være bedst sådan, da det jo også er nemmere hvis/når nye sider skal tilføjes.
Avatar billede jakobdo Ekspert
17. december 2004 - 11:31 #5
Helt enig!
Skal jeg give det et forsøg?
Avatar billede jahamnej Nybegynder
17. december 2004 - 11:36 #6
Det ville da være lækkert, men ligesom det dejlige script du hjalp mig med i går, så må du godt fodre mig lidt i bider, så jeg også hvis ikke lære noget, så i det mindste får en bedre indsigt... =]
Avatar billede jakobdo Ekspert
17. december 2004 - 11:43 #7
Start og få denne kode til at virke:

<?php

$dir = "/htmldir/"; //Dit HTML bibliotek

// Open a known directory, and proceed to read its contents
if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        while (($file = readdir($dh)) !== false)
        {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

Den vil løbe alle filer i et dir igennem.

Efterfølgende skal vi så have tjekket om det er en HTML eller HTM fil, og så åbne den og søge igennem...
Avatar billede jahamnej Nybegynder
17. december 2004 - 11:50 #8
hmm, det er vel meningen at den skal melde noget tilbage. Skal filerne ha en specifik CHMOD
Avatar billede jakobdo Ekspert
17. december 2004 - 12:03 #9
Tror jeg faktisk ikke!
(men omvendt, de skal være læsbare for PHP)

Og jo, vi skal melde noget tilbage, men det kommer! (tror jeg nok) :o)
Avatar billede jahamnej Nybegynder
17. december 2004 - 12:05 #10
nå, men de er i hvertfald læsbare
Avatar billede jakobdo Ekspert
17. december 2004 - 12:32 #11
Ok, har du rettet scriptet til, så den udskriver alle filerne i dit HTML dir?
Avatar billede jahamnej Nybegynder
17. december 2004 - 12:50 #12
nope... jeg har rettet stien, men jeg får ikke andet end en blank side
Avatar billede jakobdo Ekspert
17. december 2004 - 14:42 #13
Prøv at ret koden til:
<?php

$dir = "/htmldir/"; //Dit HTML bibliotek

// Open a known directory, and proceed to read its contents
if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        while (($file = readdir($dh)) !== false)
        {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
    else
    {
        echo "opendir failed<br>";
    }
}
else
{
    echo "$dir is not a Directory<br>";
}
?>
Avatar billede jahamnej Nybegynder
17. december 2004 - 14:56 #14
/Pages/ is not a Directory

jeg har sikkert misforstået noget...
Avatar billede jakobdo Ekspert
17. december 2004 - 14:58 #15
Tror faktisk du skal have dir med fra start!
lave en phpinfo(); og så hvor den fil ligger pt!
Lav så stien via det info!
Eller giv mig et link, så skal jeg forsøge!
Avatar billede jahamnej Nybegynder
17. december 2004 - 15:07 #16
ahh, fik den... :)

så skriver den

filename: . : filetype: dir filename: .. : filetype: dir filename: home.html : filetype: file filename: produkter.html : filetype: file
Avatar billede jakobdo Ekspert
17. december 2004 - 15:09 #17
Ja, så skal vi lige have at filetype kun må være html evt!
Avatar billede jahamnej Nybegynder
17. december 2004 - 15:10 #18
jeps
Avatar billede jakobdo Ekspert
17. december 2004 - 15:15 #19
<?php

$dir = "/htmldir/"; //Dit HTML bibliotek

// Open a known directory, and proceed to read its contents
if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        while (($file = readdir($dh)) !== false)
        {
            if (is_file($dir . $file))
            {
                echo "Vi skal søge i filen: file<br>";
                $indhold = file_get_contents($dir . $file);
                //Her skal vi så søge i filens indhold... Og det kan godt komme til at tage noget tid...
              }
        }
        closedir($dh);
    }
    else
    {
        echo "opendir failed<br>";
    }
}
else
{
    echo "$dir is not a Directory<br>";
}
?>
Avatar billede jahamnej Nybegynder
17. december 2004 - 15:21 #20
Vi skal søge i filen: file

Fatal error: Call to undefined function: file_get_contents() in wwwroot\tg\sog1.php on line 15
Avatar billede jakobdo Ekspert
17. december 2004 - 15:25 #21
Tilføj lige denne over linie 15: echo $dir . $file . "<br>"
Avatar billede jahamnej Nybegynder
17. december 2004 - 15:26 #22
der er en fejl i den linie
Avatar billede jakobdo Ekspert
17. december 2004 - 15:33 #23
Hvilken version bruger du af PHP?
Avatar billede jahamnej Nybegynder
17. december 2004 - 17:18 #24
Bruger vist nok 4

det er i øvrigt...

Parse error: parse error, expecting `','' or `';'' in wwwroot\tg\sog1.php on line 16
Avatar billede jakobdo Ekspert
17. december 2004 - 17:31 #25
Giv mig linie 15-17...
Avatar billede jahamnej Nybegynder
17. december 2004 - 18:09 #26
echo $dir . $file . "<br>"
                $indhold = file_get_contents($dir . $file);
                //Her skal vi så søge i filens indhold... Og det kan godt komme til at tage noget tid...
Avatar billede jakobdo Ekspert
17. december 2004 - 18:14 #27
Jeg glemte; efter echo $dir . $file . "<br>"

prøv lige at ret til:

echo $dir . $file . "<br>";
Avatar billede jahamnej Nybegynder
17. december 2004 - 18:26 #28
Vi skal søge i filen: file
wwwroot/tg/Pages/home.html

Fatal error: Call to undefined function: file_get_contents() in wwwroot\tg\sog1.php on line 16
Avatar billede jakobdo Ekspert
17. december 2004 - 22:00 #29
prøv at lave en fil som indeholder:

Smid denne funktion i toppen!

function file_get_contents($file)
{
  return implode(file($file));
}
Avatar billede jahamnej Nybegynder
19. december 2004 - 20:45 #30
i toppen af den eksisterende fil?? Undskyld, jeg er ikke helt med nu... sådan her?

<?php

function file_get_contents($file)
{
  return implode(file($file));
}

$dir = "/htmldir/"; //Dit HTML bibliotek

// Open a known directory, and proceed to read its contents
if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        while (($file = readdir($dh)) !== false)
        {
            if (is_file($dir . $file))
            {
                echo "Vi skal søge i filen: file<br>";
                echo $dir . $file . "<br>";
                $indhold = file_get_contents($dir . $file);
                //Her skal vi så søge i filens indhold... Og det kan godt komme til at tage noget tid...
              }
        }
        closedir($dh);
    }
    else
    {
        echo "opendir failed<br>";
    }
}
else
{
    echo "$dir is not a Directory<br>";
}
?>
Avatar billede jakobdo Ekspert
19. december 2004 - 20:46 #31
Jep!
Avatar billede jahamnej Nybegynder
19. december 2004 - 23:37 #32
Oki, og nu finder den da begge eksisterende filer, men...

Vi skal søge i filen: file
wwwroot/tg/Pages/home.html

Warning: Wrong parameter count for implode() in wwwroot\tg\sog1.php on line 5
Vi skal søge i filen: file
wwwroot/tg/Pages/produkter.html

Warning: Wrong parameter count for implode() in wwwroot\tg\sog1.php on line 5
Avatar billede jakobdo Ekspert
20. december 2004 - 08:21 #33
Mon funktionen:

function file_get_contents($file)
{
  return implode(file($file));
}

Skal rettes til:

function file_get_contents($file)
{
  return implode("",file($file));
}
Avatar billede jahamnej Nybegynder
20. december 2004 - 09:09 #34
jo, det lyder da som en plan... og nu returnerer den også rigtigt.

Vi skal søge i filen: file
wwwroot/tg/Pages/home.html
Vi skal søge i filen: file
wwwroot/tg/Pages/produkter.html
Avatar billede jakobdo Ekspert
20. december 2004 - 09:24 #35
Prøv denne:

<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="GET">
<input type="text" name="search">
<input type="submit" name="sSearch" value="Søg">
</form>

<?php

function file_get_contents($file)
{
  return implode(file($file));
}

if(isset($_GET['sSearch']))
{
    $dir = "/htmldir/"; //Dit HTML bibliotek

    // Open a known directory, and proceed to read its contents
    if (is_dir($dir))
    {
        if ($dh = opendir($dir))
        {
            while (($file = readdir($dh)) !== false)
            {
                if (is_file($dir . $file))
                {
                    $indhold = file_get_contents($dir . $file);
                    if (preg_match('/.{0,10}$_GET['search'].{0,10}/s', $indhold, $match))
                    {
                        echo "Jeg fandt: <b>" . $_GET['sSearch'] . "</b> i filen: $file";
                    }
                    else
                    {
                        echo "Jeg fandt ikke: <b>" . $_GET['search'] . "</b><br>";
                    }
                    //Her skal vi så søge i filens indhold... Og det kan godt komme til at tage noget tid...
                }
            }
            closedir($dh);
        }
        else
        {
            echo "opendir failed<br>";
        }
    }
    else
    {
        echo "$dir is not a Directory<br>";
    }
}
?>
Avatar billede jahamnej Nybegynder
20. december 2004 - 09:37 #36
Parse error: parse error in wwwroot\tg\sog1.php on line 27

Noget galt med denne fætter....

if (preg_match('/.{0,10}$_GET['search'].{0,10}/s', $indhold, $match))
Avatar billede jakobdo Ekspert
20. december 2004 - 09:42 #37
Hvad hvis du retter til:

$indhold = file_get_contents($dir . $file);
                    $searchString = "/.{0,10}$_GET['search'].{0,10}/s"
                    if (preg_match($searchString, $indhold, $match))
Avatar billede jahamnej Nybegynder
20. december 2004 - 09:55 #38
ok.

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in wwwroot\tg\sog1.php on line 27
Avatar billede jakobdo Ekspert
20. december 2004 - 09:56 #39
Ok, lad mig tænke lidt...
Avatar billede jakobdo Ekspert
20. december 2004 - 12:53 #40
Hov, der skal sættes: ; på linien: $searchString = "/.{0,10}$_GET['search'].{0,10}/s"
så det kommer til at se sådan ud:

$searchString = "/.{0,10}$_GET['search'].{0,10}/s";
Avatar billede jahamnej Nybegynder
20. december 2004 - 12:58 #41
oki, men synes den melder det samme...

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in wwwroot\tg\sog1.php on line 27
Avatar billede jakobdo Ekspert
20. december 2004 - 13:11 #42
Prøv her så:

$indhold = file_get_contents($dir . $file);
$searchString = "/.{0,10}" . $_GET['search'] . ".{0,10}/s";
Avatar billede jahamnej Nybegynder
20. december 2004 - 13:13 #43
det hjalp... fejlmeldingen er væk, og nu kommer søgefeltet frem.

En tilfældig søgning viser så...

Warning: Wrong parameter count for implode() in wwwroot\tg\sog1.php on line 10
Jeg fandt ikke: f

Warning: Wrong parameter count for implode() in wwwroot\tg\sog1.php on line 10
Jeg fandt ikke: f
Avatar billede jakobdo Ekspert
20. december 2004 - 13:20 #44
Jeg glemte sidste gang...
Funktionen i toppen skal have tilføjet lidt!
Ret linien til:
return implode("",file($file));
Avatar billede jahamnej Nybegynder
20. december 2004 - 13:28 #45
oki,

Nu sker der så ikke særligt meget. Ingen fejlmeddelse :) , men enten melder den at intet bliver fundet, eller den viser overhovedet ikke noget.
Avatar billede jakobdo Ekspert
20. december 2004 - 13:29 #46
Smid lige hele din kode herind?
Avatar billede jahamnej Nybegynder
20. december 2004 - 13:30 #47
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="GET">
<input type="text" name="search">
<input type="submit" name="sSearch" value="Søg">
</form>

<?php

function file_get_contents($file)
{
  return implode("",file($file));
}

if(isset($_GET['sSearch']))
{
    $dir = "/wwwroot/tg/Pages/"; //Dit HTML bibliotek

    // Open a known directory, and proceed to read its contents
    if (is_dir($dir))
    {
        if ($dh = opendir($dir))
        {
            while (($file = readdir($dh)) !== false)
            {
                if (is_file($dir . $file))
                {
                    $indhold = file_get_contents($dir . $file);
                    $searchString = "/.{0,10}" . $_GET['search'] . ".{0,10}/s";
                    if (preg_match($searchString, $indhold, $match))
                    {
                        echo "Jeg fandt: <b>" . $_GET['sSearch'] . "</b> i filen: $file";
                    }
                    else
                    {
                        echo "Jeg fandt ikke: <b>" . $_GET['search'] . "</b><br>";
                    }
                    //Her skal vi så søge i filens indhold... Og det kan godt komme til at tage noget tid...
                }
            }
            closedir($dh);
        }
        else
        {
            echo "opendir failed<br>";
        }
    }
    else
    {
        echo "$dir is not a Directory<br>";
    }
}
?>
Avatar billede jakobdo Ekspert
20. december 2004 - 13:40 #48
Prøv lige denne kode:

<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="GET">
<input type="text" name="search">
<input type="submit" name="sSearch" value="Søg">
</form>

<?php

function file_get_contents($file)
{
  return implode("",file($file));
}

if(isset($_GET['sSearch']))
{
    $dir = "/wwwroot/tg/Pages/"; //Dit HTML bibliotek

    // Open a known directory, and proceed to read its contents
    if (is_dir($dir))
    {
        if ($dh = opendir($dir))
        {
            while (($file = readdir($dh)) !== false)
            {
                if (is_file($dir . $file))
                {
                    $indhold = file_get_contents($dir . $file);
                    $searchString = "/.{0,10}" . $_GET['search'] . ".{0,10}/si";
                    if (preg_match($searchString, $indhold, $match))
                    {
                        echo "Jeg fandt: <b>" . $_GET['sSearch'] . "</b> i filen: $file<br>";
                    }
                    else
                    {
                        echo "Jeg fandt ikke: <b>" . $_GET['search'] . "</b> i filen: $file<br>";
                    }
                    //Her skal vi så søge i filens indhold... Og det kan godt komme til at tage noget tid...
                }
            }
            closedir($dh);
        }
        else
        {
            echo "opendir failed<br>";
        }
    }
    else
    {
        echo "$dir is not a Directory<br>";
    }
}

?>
Avatar billede jahamnej Nybegynder
20. december 2004 - 13:58 #49
okay...
Jeg søgte på forside, som jo står i forside html. Og det finder den... og det er kewl. Men hvis man så forsøger en ny søgning, returnerer den ingenting.

Jeg fandt: Søg i filen: home.html
Jeg fandt ikke: forside i filen: produkter.html
Avatar billede jakobdo Ekspert
20. december 2004 - 14:17 #50
Den bør ellers indlæse filerne hver gang...
Så er du sikker på ordet forside er i filen?

$searchString til:
$searchString = $_GET['search'] . "/si";

Og test den?
Avatar billede jahamnej Nybegynder
20. december 2004 - 14:22 #51
undskyld, vil du bytte hele den her...
$searchString = "/.{0,10}" . $_GET['search'] . ".{0,10}/si";

ud med...
$searchString = $_GET['search'] . "/si";

ordet forside er med i den ene fil, som den også fandt (bare kun første gang)

Jeg fandt: Søg i filen: home.html
Jeg fandt ikke: forside i filen: produkter.html
Avatar billede jakobdo Ekspert
20. december 2004 - 14:24 #52
Ja, byt det hele ud!
Avatar billede jahamnej Nybegynder
20. december 2004 - 14:25 #53
Warning: Delimiter must not be alphanumeric or backslash in wwwroot\tg\sog1.php on line 28
Jeg fandt ikke: forside i filen: home.html

Warning: Delimiter must not be alphanumeric or backslash in wwwroot\tg\sog1.php on line 28
Jeg fandt ikke: forside i filen: produkter.html
Avatar billede jakobdo Ekspert
20. december 2004 - 14:49 #54
Ok, så ret til:

$searchString = "/" . $_GET[\'search\'] . "/si";
Avatar billede jahamnej Nybegynder
20. december 2004 - 14:55 #55
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in wwwroot\tg\sog1.php on line 27

Parse error: parse error, expecting `']'' in wwwroot\tg\sog1.php on line 30
Avatar billede jakobdo Ekspert
20. december 2004 - 15:02 #56
$searchString = "/" . $_GET['search'] . "/si";
Avatar billede jakobdo Ekspert
20. december 2004 - 15:02 #57
Jeg dropper snart remote kodning! (det tager fandeme laaaang tid) :o)
Avatar billede jahamnej Nybegynder
20. december 2004 - 15:20 #58
lol
Avatar billede jahamnej Nybegynder
20. december 2004 - 15:22 #59
kewl, nu er det vist på plads... søgte på produkt og fik...

Jeg fandt ikke: produkt i filen: home.html
Jeg fandt: Søg i filen: produkter.html

Formuleringen er måske ikke så fed :D Men det skal alligevel ikke bruges.

Næste skridt må vel være kun at vise de sider, som har ordet med sig.
Avatar billede jakobdo Ekspert
20. december 2004 - 15:25 #60
Hvad der skrives kan du selv rette i linierne:

echo "Jeg fandt: <b>" . $_GET['sSearch'] . "</b> i filen: $file<br>";

og

echo "Jeg fandt ikke: <b>" . $_GET['search'] . "</b> i filen: $file<br>";
Avatar billede jahamnej Nybegynder
20. december 2004 - 15:29 #61
jo, selvfølgelig...

Men kunne man lave resultatet sådan, at den kun viser sider som indeholder det pågældende ord, og at den viser det sådan her...

Produkter (som link): De første x antal ord i den side
Avatar billede jakobdo Ekspert
20. december 2004 - 15:31 #62
Ja, men problemet er vi søger i "rå" html kode, så du vil kunne få tags med...
Dem kan vi rippe fra...
Men stadig væk, det er muligt...
Skal jeg kode videre?
Avatar billede jahamnej Nybegynder
20. december 2004 - 15:40 #63
nå, så vi kan bruge nogle striplaches, eller sårn, det du mener?

Det synes jeg ville være den fedeste løsning.
Avatar billede jakobdo Ekspert
20. december 2004 - 16:28 #64
ret til dette:

$searchString = "/.{0,50}" . $_GET['search'] . ".{0,50}/si";
                    if (preg_match($searchString, strip_tags($indhold), $match))
                    {
                        echo "Jeg fandt: <b>" . $_GET['search'] . "</b> i filen: $file<br>";
                        echo "Bid af filen: <b>" . $match[0] . "</b><br>";
                    }
Avatar billede jakobdo Ekspert
20. december 2004 - 16:28 #65
Og fjern:

else
                    {
                        echo "Jeg fandt ikke: <b>" . $_GET['search'] . "</b> i filen: $file<br>";
                    }
Avatar billede jahamnej Nybegynder
20. december 2004 - 16:33 #66
kewl, det ser ud til at funge...

Hvordan styrer man så, hvor meget den tager med?
Avatar billede jakobdo Ekspert
20. december 2004 - 16:34 #67
Bemærk tallet 50 på hver side...
Ændre det som du vil!
Avatar billede jahamnej Nybegynder
20. december 2004 - 17:53 #68
ok, kewl... tænkte jeg nok, men skal selvfølgelig sikre mig, så jeg ikke kommer og rapporterer flere fejl til dig.

Ok to ting.

Hvis man taster noget ind og trykker enter, så viser den intet. Men trykker man på søg knappen, så finder den noget frem. Meget besynderligt.

Vi mangler at det skal være et link, hvilket jeg tror er lidt kompliceret. Ser du, jeg bruger en template, som henter disse html elementer (dem vi søger i) ind. Det vil sige at skal man f. eks ind på forsiden hedder linket ?page=../Pages/home efter template.php. Tror du man kan lave linket sådan???
Avatar billede jakobdo Ekspert
20. december 2004 - 22:48 #69
Det burde du faktisk godt kunne!

Prøv at vis mig hvordan du f.eks. ville lave et link til siden: home.html på en helt almindelig side...
SÅ skal jeg nok rette scriptet yderligere...
Avatar billede jahamnej Nybegynder
20. december 2004 - 23:01 #70
det skrives sådan...

?page=../Pages/home

altså uden endelsen, html.
Avatar billede jakobdo Ekspert
21. december 2004 - 08:38 #71
Here u go:

if (preg_match($searchString, strip_tags($indhold), $match))
{
  $fileName = substr($file, 0, strrpos($file, "."));
  echo "<a href=\"?page=../Pages/" . $fileName . "\">" . $fileName . "</a> : " . $match[0] . "<br>";
}
Avatar billede jahamnej Nybegynder
21. december 2004 - 11:16 #72
Det sgu lækkert! =]

Så mangler der bare et par småting, hvis du stadig gerne vil bruge lidt tid på at hjælpe.

Som sagt, så finder den kun noget hvis man trykker på søg knappen. Hvis man bare skriver noget og trykker enter, så viser den intet.

Et andet problem for mig er at vise søgeresultaterne det rigtige sted. Som sagt bruger jeg en template, hvor alt indhold har sin plads. Men selve søgefeltet sidder i toppen af templaten. Nogle gode idéer til hvordan søgeresultaterne kan vises nede i den rigtige kasse?

Det jeg har gjort er at bruge følgende i templaten...

<div>
<?php include ("$page.html"); ?>
</div>

dermed kan jeg bare linke til f.eks ?page=../Pages/etellerandet og så bliver det hentet ind på template_a

Jeg tænkte på bare at oprette en template_b , som ikke bruger den include, men har søge scriptet liggende i stedet. Men hvordan jeg lige får formen, som skal ligge på alle sider (altså template_a), til at kommunikere med scritet på template_b ??

Du har måske svaret, eller en bedre (nemmere?) løsning.
Avatar billede jahamnej Nybegynder
21. december 2004 - 15:54 #73
Du skal også bare sige til, hvis du synes jeg har fået hjælp nok for de 200 point ;)

Jeg vil nødig være til besvær. Skal nok regne det hele ud på en eller anden måde. :)
Avatar billede jakobdo Ekspert
21. december 2004 - 16:14 #74
Det med hvis du bare trykker enter, burde nu virke...
Dit andet problem har jeg ikke lige et svar på!
Avatar billede jakobdo Ekspert
21. december 2004 - 16:14 #75
Det med at skrive noget og så trykke enter, kan det skyldes du har flere knapper på siden?

Min test side virker nemlig ok!
Avatar billede jakobdo Ekspert
21. december 2004 - 16:15 #76
Og et svar...
Avatar billede jahamnej Nybegynder
21. december 2004 - 16:23 #77
oki, det sgu i orden.
Avatar billede jakobdo Ekspert
21. december 2004 - 16:24 #78
Tak for point...
Avatar billede jahamnej Nybegynder
21. december 2004 - 16:31 #79
hovsa... det er vist ingen melding, hvis det søgte ord ikke findes på en side
Avatar billede jakobdo Ekspert
21. december 2004 - 16:34 #80
Nej, det fjernede vi jo!
Det er rigtigt!

Det må vi evt kigge på i morgen!
Avatar billede jahamnej Nybegynder
21. december 2004 - 16:40 #81
nårh, det er iorden...

Så vi ljeg lige se om jeg selv kan smide det ind igen.

mange tak for hjælpen =]
Avatar billede jakobdo Ekspert
22. december 2004 - 08:52 #82
Værsgo:

<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="GET">
<input type="text" name="search">
<input type="submit" name="sSearch" value="Søg">
</form>

<?php

if(isset($_GET['sSearch']))
{
    $dir = "/kunder/damgaard-olsendk/htdocs/exp/"; //Dit HTML bibliotek
   
    // Open a known directory, and proceed to read its contents
    if (is_dir($dir))
    {
        if ($dh = opendir($dir))
        {
            $found = false;
            while (($file = readdir($dh)) !== false)
            {
                if (is_file($dir . $file))
                {
                    $indhold = file_get_contents($dir . $file);
                    $searchString = "/.{0,50}" . $_GET['search'] . ".{0,50}/si";
                    if (preg_match($searchString, strip_tags($indhold), $match))
                    {
                        $found = true;
                        $fileName = substr($file, 0, strrpos($file, "."));
                        echo "<a href=\"?page=../Pages/" . $fileName . "\">" . $fileName . "</a> : " . $match[0] . "<br>";
                    }
                }
            }
            closedir($dh);
            if ($found === false)
            {
                echo "Vi fandt desværre ikke: <b>" . $_GET['search'] . "</b><br>";
            }
        }
        else
        {
            echo "opendir failed<br>";
        }
    }
    else
    {
        echo "$dir is not a Directory<br>";
    }
}
?>
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