Alueiden aiheet linkkilistana

Started by jarih, June 04, 2004, 02:10:27 AM

Previous topic - Next topic

jarih

Tein php-skriptin jolla saa kerättyä kaikki alueen aiheet allekkain linkkilistaksi, helpottuu etsintä huomattavasti.

Tässä on kaikki tämän alueen aiheet
http://www.kotka.org/simplesuomi.htm [nofollow]

Tässä englanninkielisen foorumin general
http://www.kotka.org/simpleenggen.htm [nofollow]

Ja tässä skripti. Sen saa helposti muunnettua koskemaan mitä aluetta tahansa.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
   <title>Untitled</title>
</head>
<body>

<?php

function link_extractor($s) {
  $a = array();
     
   if (preg_match_all('/<a\s+.*?href=[\"\']?([^\"\' >]*)[\"\']?[^>]*>(.*?)<\/a>/i',
                      $s,$matches,PREG_SET_ORDER)) {
    foreach($matches as $match) {
      array_push($a,array($match[1],$match[2]));
    }
  }
  return $a;
}

$alku = -20;
$j = 0;
for ($i = 0; $i <= 10; $i++) {
   $alku = $alku + 20;
   $j++ ;
   echo '<b>'.$j.'<b><br>';
   
   $s = 'http://www.simplemachines.org/community/index.php?board=9.'.$alku;

   $sivu = '';
   $fh = fopen($s,'r') or die($php_errormsg);
   while (! feof($fh)) {
       $sivu .= fread($fh,1048576);
   }
   fclose($fh);


   $linkit = link_extractor($sivu);

   foreach ($linkit as $linkki) {
        //jos ei kuva ja on topic
      if ($linkki[1][1] != 'i' and $linkki[0][50] == 't') echo '<a href='.$linkki[0].' target="_blank" >'.$linkki[1].'</a></br>';

   }

}

?>

</body>
</html>

jarih

bugi:

if ($link[1][1] != 'i'  --> paitsi imaget myös linkit joiden tekstissä on 'i' toisena kirjaimena eivät tule listaan mukaan:

<a href = "blaa,blaaa">linkki jossa 'i' toisena</a>

Joten tuo lista on epätäydellinen.
En nyt juuri jaksa korjata tuota bugia.

Advertisement: