Mailinglisten-Archive |
> 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