Avatar billede cmau Nybegynder
26. juli 2005 - 15:50 Der er 5 kommentarer og
1 løsning

hent metatags

Hejsa

Fra et spg på s2a.dk er der kommet dette stykke kode ud:

<?
$url = " http://s2a.dk/";

//Hent data fra hjemmesiden:
$index = fopen($url, "r");
$data = fread($index, 100000000);

if (strstr(strtolower($data),"<meta ")) { //Tjek om der er meta-tags
    $tmp1 = explode("<meta ",$data);
    $tmp2 = explode("<META ",$data);
   
    for ($i=1;$i<count($tmp1);$i++) {
        $tmp = explode(">",$tmp1[$i]);
        $tags .= $tmp[0]."\n";
    }
    for ($i=1;$i<count($tmp2);$i++) {
        $tmp = explode(">",$tmp2[$i]);
        $tags .= $tmp[0]."\n";
    }
} else {
    $tags = "Der blev <u>ikke</u> fundet nogen meta-tags!";
}
//Udskriv meta-tags:
echo "<pre>".$tags."</pre>";
?>


Den finder metatags på en side, men hvordan kan vi lave så den kun henter:

name="TITLE"
name="DESCRIPTION"
name="KEYWORDS"

Og hvis så en af de 3 ikke findes skal den bare udskrive "alle 3 findes ikke".

Hvis de 3 findes skal den tage indholdet af metataget's content og smide i databasen.

Derefter skal den søge efter alle links på siden og de skal så smides i en anden database.

Sådan vi får en lille søgemaskine.
Avatar billede phhepl Nybegynder
26. juli 2005 - 16:28 #1
Jeg ved ikke om det har interesse(?), men jeg har skrevet et stykke kode der går igennem en sides indhold og tjekker hvilke ord der er mest brugt, og på den måde finder sidens keywords.

Det eneste jeg mangler er nogle ordentlige ordliste over forholdsord, biord, fyldeord og andre urellevante ord, som skal skæres væk.

Vh. Casper
Avatar billede phhepl Nybegynder
26. juli 2005 - 16:28 #2
Det skulle _ikke_ have været et svar.
Avatar billede hmortensen Nybegynder
26. juli 2005 - 16:31 #3
Du kan evt. kigge på den her funktion:
http://dk2.php.net/get_meta_tags
Avatar billede cmau Nybegynder
26. juli 2005 - 18:15 #4
Nu har jeg været ved at prøve på noget, men url feltet i databasen komemr der til at stå Array.

<?php

include('sql.php');
$url = $_GET['url'];
$tags = get_meta_tags($url);
$time = time();
$title = $tags['title'];
$description = $tags['description'];
$keywords = $tags['keywords'];

if(empty($title) || empty($description) || empty($keywords)) {

echo "Der mangler metatags på siden, det er krævet at følgende findes:<br>title<br>keywords<br>description";

} else {

if(preg_match("/http:\/\/(.*?)\//i",$url,$url)) {
if (!eregi("^www.", $url[1])) {
$url = "www.".$url[1];
} else {
$url = $url[1];
}
}

$query = mysql_query("SELECT * FROM search_data WHERE url='$url'");
if(mysql_num_rows($query) == 0) {

mysql_query("INSERT INTO search_data (url,title,description,keywords,last_check) VALUES

('$url','$title','$description','keywords','$time')") or die(mysql_error());

} else {

mysql_query("UPDATE search_data SET title='$title', description='$description', keywords='$keywords', last_check='$time'

WHERE url='$url'") or die(mysql_error());

}
echo "Denne data blev smidt i databasen, for domænet $url:<br>$title<br>$keywords<br>$description";
}
?>
Avatar billede cmau Nybegynder
26. juli 2005 - 18:51 #5
.. Dur ikke
Avatar billede phhepl Nybegynder
27. juli 2005 - 09:03 #6
cmau prøv at skrive

print_r($url);
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