Avatar billede l_domino_l Nybegynder
04. juni 2008 - 11:37 Der er 19 kommentarer og
1 løsning

Hente Tags fra anden fil?

Jeg har denne søge funktion, som skriver titlen på HTML filen:

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

<body>
<?php
if(isset($_REQUEST['search'])){
    $phrase = $_REQUEST['phrase'];
    $dir = ""; //Dit HTML bibliotek og husk at slut med /
    $found = false;
   
    foreach(glob($dir . "*.html") as $filename) {
    $content = file_get_contents($filename);
    if(preg_match('/.{0,50}'.preg_quote($phrase).'.{0,50}/si', $content, $match)){
        $found = true;
        $file = basename($filename);
        if(preg_match('%<title>(.*?)</title>%si', $content, $title)) {
                $result = $title[1];
            } else {
                $result = $file;
            }
        echo '<a href="'.$dir.$file.'"<font size="1" color="black">'.$result.'</a>';
        echo '<br>';
        flush();
    }
    }
   
    if($found === false && !empty($phrase)){
        echo "Vi fandt desv&aelig;rre ikke: <b>" . $phrase . "</b><br>";
    }
}
?>
<form action="sogefunktion.php" method="post">
    <input type="hidden" name="search" value="1" />
    <input type="text" name="phrase" />
    <input type="submit" name="search" value="S&oslash;g" />
</form>


Men istedet for at skrive Titlen, skal den skrive en tag og en anden hyperlink end den der står i filen...

Kan man det?
Avatar billede jakobdo Ekspert
04. juni 2008 - 11:41 #1
Hvorfor skrive et andet link ?
Avatar billede l_domino_l Nybegynder
04. juni 2008 - 11:43 #2
Eks:

<overskrift>Mine AppZ</overskrift>
<sidelink>#4<sidelink>

Jeg bruger nemlig links som denne:

<a href="#24" class="cross-link" title="Mine AppZ">Mine AppZ</a>
Avatar billede l_domino_l Nybegynder
04. juni 2008 - 11:43 #3
Se her og forstå hvorfor:

www.domiino.dk
Avatar billede jakobdo Ekspert
04. juni 2008 - 11:48 #4
Hvorfor så ikke gemme sådanne ting i en database ?
Det vil også gøre søgningen nemmere. :o)
Avatar billede l_domino_l Nybegynder
04. juni 2008 - 11:49 #5
Tjaa.... fordi jeg ikke gider at arbejde med en DB på denne side.....
Avatar billede jakobdo Ekspert
04. juni 2008 - 11:50 #6
Du kunne jo smide tags/info ind som meta tags ?
Så kunne søg funktionen trække info derfra.
Avatar billede l_domino_l Nybegynder
04. juni 2008 - 11:54 #7
Jaaa.... og hvordan gør man det?
Avatar billede jakobdo Ekspert
04. juni 2008 - 11:57 #8
Du skal starte med at finde ud af hvordan du vil gøre, så kan vi rette koden senere.
Avatar billede l_domino_l Nybegynder
04. juni 2008 - 11:58 #9
Jamen kan man ikke sætte sådan her ind på hver side:

<overskrift>Mine AppZ</overskrift>
<sidelink>#4<sidelink>

Og så hive det ud?
Avatar billede jakobdo Ekspert
04. juni 2008 - 12:27 #10
Du kunne jo f.eks. lave:

<meta name="minOverskrift" content="Mine AppZ" />
<meta name="mitLink" content="#4" />
Avatar billede jakobdo Ekspert
04. juni 2008 - 12:51 #11
I forlængelse af mit sidste indlæg, burde denne kode virke:

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

<body>
<?php
if(isset($_REQUEST['search'])){
    $phrase = $_REQUEST['phrase'];
    $dir = ""; //Dit HTML bibliotek og husk at slut med /
    $found = false;

    foreach(glob($dir . "*.html") as $filename) {
        $content = file_get_contents($filename);
        if(preg_match('/.{0,50}'.preg_quote($phrase).'.{0,50}/si', $content, $match)){
            $found = true;
            $file = basename($filename);
            if(preg_match('%<meta name="minOverskrift" content="(.+?)" />%'$content, $overskrift)) {
                $overskrift = $overskrift[1];
            } else {
                $overskrift = $file;
            }
            if(preg_match('%<meta name="mitLink" content="(.+?)" />%'$content, $link)) {
                $link = $overskrift[1];
            } else {
                $link = $file;
            }
            echo '<a href="'.$link.'"<font size="1" color="black">'.$overskrift.'</a>';
            echo '<br>';
            flush();
        }
    }

    if($found === false && !empty($phrase)){
            echo "Vi fandt desv&aelig;rre ikke: <b>" . $phrase . "</b><br>";
    }
}
?>
<form action="sogefunktion.php" method="post">
        <input type="hidden" name="search" value="1" />
        <input type="text" name="phrase" />
        <input type="submit" name="search" value="S&oslash;g" />
</form>
Avatar billede l_domino_l Nybegynder
04. juni 2008 - 13:05 #12
Øhhh... skærmen er bare blank nu....

www.domiino.dk/sogefunktion.php
Avatar billede jakobdo Ekspert
04. juni 2008 - 13:09 #13
Jeg havde lavet lidt fejl, prøv denne:

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

<body>
<?php
//http://www.eksperten.dk/spm/833814
if(isset($_REQUEST['search'])){
    $phrase = $_REQUEST['phrase'];
    $dir = ""; //Dit HTML bibliotek og husk at slut med /
    $found = false;

    foreach(glob($dir . "*.html") as $filename) {
        $content = file_get_contents($filename);
        if(preg_match('/.{0,50}'.preg_quote($phrase).'.{0,50}/si', $content, $match)){
            $found = true;
            $file = basename($filename);
            if(preg_match('%<meta name="minOverskrift" content="(.+?)" />%',$content, $overskrift)) {
                $overskrift = $overskrift[1];
            } else {
                $overskrift = $file;
            }
            if(preg_match('%<meta name="mitLink" content="(.+?)" />%',$content, $link)) {
                $link = $link[1];
            } else {
                $link = $file;
            }
            echo '<a href="'.$link.'"<font size="1" color="black">'.$overskrift.'</a>';
            echo '<br>';
            flush();
        }
    }

    if($found === false && !empty($phrase)){
            echo "Vi fandt desv&aelig;rre ikke: <b>" . $phrase . "</b><br>";
    }
}
?>
<form action="sogefunktion.php" method="post">
        <input type="hidden" name="search" value="1" />
        <input type="text" name="phrase" />
        <input type="submit" name="search" value="S&oslash;g" />
</form>
Avatar billede l_domino_l Nybegynder
04. juni 2008 - 13:13 #14
Yes.....

Men hvordan tilføjer jeg så de metatags du snakkede om??

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" lang="da">
    <title>DOMiiNO</title>
    <overskrift>DOMiiNO</overskrift>
    <mitLink>Boing</mitLink>
    <meta http-equiv="Content-Language" content="en-us" />
</head>
Avatar billede jakobdo Ekspert
04. juni 2008 - 13:27 #15
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" lang="da">
    <title>DOMiiNO</title>
<meta name="minOverskrift" content="Mine AppZ" />
<meta name="mitLink" content="#4" />
    <meta http-equiv="Content-Language" content="en-us" />
</head>
Avatar billede l_domino_l Nybegynder
04. juni 2008 - 13:38 #16
Bingo.... så skal jeg bare have den til at skifte side uden den fucker min kode up... *LOL*

Takker
Avatar billede l_domino_l Nybegynder
04. juni 2008 - 13:44 #17
Sådan.... nu virker det....

Frisk på en mere?
Avatar billede jakobdo Ekspert
04. juni 2008 - 13:57 #18
Svar!
Du kan jo prøve! :o)
Avatar billede l_domino_l Nybegynder
04. juni 2008 - 14:03 #19
Avatar billede jakobdo Ekspert
04. juni 2008 - 14:22 #20
Takker 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