phpbar.de logo

Mailinglisten-Archive

[php] Such-Funktion für HTML-Seiten

[php] Such-Funktion für HTML-Seiten

Daniel Beulshausen daniel_(at)_php4win.de
Fri, 1 Sep 2000 14:02:08 +0200


> Könnte mir jemand theoretisch ein Such-Programm für die eigenen Webseiten
> erklären, ich meine womit fange ich an (und natürlich folgende Schritte)
und
> welche PHP-Befehle mir da Hilfreich sein können.

der vorteil eines eigenen programmes ist immer der lerneffekt.
für grössere seiten empflehen sich aber trotzdem erprobte lösungen wie
udmsearch (http://search.mnogo.ru/) oder .htdig (http://www.htdig.org),
wenns nciht unbedingt php sein muss...
unter http://www.hotscripts.com/PHP/Scripts_and_Programs/Searching/ sind
auch noch ein paar gelistet und imho ist im pear auch sowas am enstehen.
unten findest du ein snippet wie man eine eigene filesearch anfangen könnte,
zu mehr hatte ich nicht die lust, kann z.b. nicht rekursiv die verzeichniss
abgrasen.

gruss
daniel

p.s. stelle bitte die htmls mails ab

/*--
daniel beulshausen - daniel_(at)_php4win.de
using php on windows? http://www.php4win.de

<?
class filesearch
{
 var $dir;
 var $match = array("^.*.html\$","^.*.htm\$");
 var $found;
 var $occurences;

 function filesearch( $dir = "./" )
 {
  $this->dir = dir( $dir );
 }

 function find( $string )
 {
  $this->occurences = 0;
  $this->found = array();
  $match = implode("|", $this->match);
  while( $file = $this->dir->read() )
  {
   if( preg_match("/$match/U", $file) && is_readable($file) )
   {
    if( preg_match("/.*$string.*/U" ,implode("\n",file($file))) )
    {
     $this->occurences++;
     $this->found[] = $file;
    }
   }
  }
 }
}

$search = new filesearch();
$search->find("string");
print "found $search->occurences occurences in ".$search->dir->path." :
<br>\n";
foreach($search->found as $file)
 print "$file<br>\n";
?>




php::bar PHP Wiki   -   Listenarchive