Suchfunktion, dabei PHP Code nicht brücksichtigen
Ines
- php
Hallo,
habe mir eine Suchefunktion für meine Homepage gebastelt. Das Ganze mache ich so (ich wiess es ist sicher nicht die eleganteste Lösung, aber für mich ist es die Beste und Einfachste):
Mein PHP-Script öffnet alle von mir zum Durchsuchen erlaubten Verzeichnis, dann die Dateien (*.htm,*.php,*.txt) und durchsucht dann den Inhalt nach dem Suchwort. Das klappt auch prima. Jetzt möchte ich aber, dass evtl. PHP-Code nicht durchsucht wird (habe einige Kommetare zur besseren Uebersicht, die dann das Suchergebnis verfälschen), d.h. alles zwischen <? und ?> soll dann nicht durchsucht werden. Der Inhalt der jeweiligen Seite wird in einen String gelesen:
$array = file($datei);
for($x=0;$x<count($array);$x++)
{
$string .= $array[$x];
}
Wie kann ich jetzt verhindern, dass in $string der PHP mit aufgenommen wird?
Sonnige Grüsse, Ines
Hallo,
$array = file($datei);
for($x=0;$x<count($array);$x++)
{
$string .= $array[$x];
}Wie kann ich jetzt verhindern, dass in $string der PHP mit aufgenommen wird?
durch ein Reg. Expression, in Perl geht das etwa so:
$sting =~ s/<?.*??>//gs;
In php sicher ähnlich.
Alternativvorschlag:
http://www.w3sitesearch.de
Gruß
Reiner
lass den php code mit in den $string lesen.
am ende der ganzen prozedur bearbeitest du den string, indem du das erste <? und darauffolgende erste ?> suchst, und den text dazwischen inklusive den php tags entfernst.
mfg stefano
fortsetzung:
wenn der $string vollendet ist, arbeitest du mit strtolower(); und strpos(); usw.