News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

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: