SucheInHP.php
Das
PHP-Quelltext Programm SucheInHP.php
benötigt auf dem Server im gleichen Verzeichnis, in
dem es sich selbst befindet die Konfiguration- und Steuerdatei Such_Erst_Config.php.
In dieser werden nicht nur Konstanten definiert,
sondern auch Arrays erzeugt oder
überschrieben. Diese Datei wird auch von dem
PHP-Quelltexprogramm Such_Erstellen.php genutzt,
das die Datei SuchIndex.TXT, oder wie Sie sie auch
immer in den Definitionen in der Datei Such_Erst_Config.php genannten
haben mögen, erstellt. Dass beide Programme die gleiche
Steuerdatei nutzen ist durchaus Absicht, denn da das eine Programm
die SuchIndex.TXT erzeugt, und das andere
Programm in ihr entsprechend sucht, müssen sie beide die
gleichen Zeichenfolgen verwenden.
Wieder sind alle
Verzeichnisangaben von der Datei index.php aus zu
rechnen und bitte beachten Sie, was unter dem Menüpunkt Hilfe Menüsystem 1 index.php zu Konstanten
und Arrays geschrieben wurde.
define("SUCH_INDEXPHP","index.php");
define("SUCH_SPEICERVERZEICH","_suchen");
define("SUCH_INDEXDATEINAME","SuchIndex.TXT");
define("SUCH_HP_HOLDATEN","SucheInHP_HolDaten.php");
define("SUCH_HP_ERGEBNIS","SuchErgebnis.php");
define("SUCH_MENUEDATENVERZEICH","php/Menue");
define("SUCH_ALL_MENUEKOPF_DATEINAME","Menue_Allgemein_Konst.php");
define("SUCH_MENUEKOPF_DATEINAME","Menue_Kopf_Konst.php");
define("SUCH_BILDER_KONST_NAME","php/bilder/inc/Bilder_IM_Konst.php");
define("SUCH_ZEICHENLINK","<AUFRUF---------->");
define("SUCH_ZEICHENTITEL","<TITEL---------->");
define("SUCH_SUCHBEGRIFFE","Su_Be");
define("SUCH_GROSS_KLEIN","Rgk");
define("SUCH_GANZES_WORT","Rgw");
define("SUCH_MIT_TITEL","Rtm");
define("SUCH_JA_SCHALTER","Ja");
define("SUCH_NEIN_SCHALTER","Nein");
define("SUCH_ZEIGEN_STRING","Anzeigen");
define("SUCH_START_NUTZEN_IM_LINK","<u>");
define("SUCH_ENDE_NUTZEN_IM_LINK","</u>");
Hinter
SUCH_HP_HOLDATEN
schreiben Sie bitte den Namen Ihrer Maske, bei der der Besucher seine
Suchbegriffe eingeben kann und auch die weiteren Festlegungen wie nur
ganze Wörter, Groß- und
Kleinschreibung beachten, auch in den Titeln der
einzelnen Webseiten suchen festlegen kann.
Hinter SUCH_ZEIGEN_STRING
schreiben Sie bitte den Text, der hinter einer gefundenen Stelle als
Link zu der Stelle angezeigt werden soll, hier also einfach Anzeigen.
Was SUCH_ZEICHENLINK
und SUCH_ZEICHENTITEL bedeuten erschließt
sich sofort, wenn Sie sich die Datei SuchIndex.TXT
nur einmal ansehen.
Bei SUCH_MENUEDATENVERZEICH
ist das schon anders, hiermit ist das Verzeichnis gemeint, in dem Sie
Ihre Konfigurations- und Steuerdateien für das Menü
gespeichert haben, bei mir also php/Menue.
Bei
SUCH_ALL_MENUEKOPF_DATEINAME tragen Sie bitte den
Namen der Steuerdatei ein, in der Sie die allgemeinen Konstanten
definiert haben, bei mir also Menue_Allgemein_Konst.php.
Und zwar steht die natürlich im hinter SUCH_MENUEDATENVERZEICH
angegebenen Verzeichnis.
Für
die Angaben hinter SUCH_MENUEKOPF_DATEINAME gilt
ähnliches, hier
sind die speziellen Angaben für die MenüKopfzeile
gemeint.
Wenn Sie sich meine Datei SucheInHP_HolDaten.php
anschauen, die die Daten des Besuchers abholt, dann finden Se die
Einträge wieder, die hinter SUCH_SUCHBEGRIFFE,
SUCH_GROSS_KLEIN, SUCH_GANZES_WORT
und SUCH_MIT_TITEL
von mir eingegeben wurden. Sie können so also die betreffenden
Zeichenfolgen festlegen, wie Sie es möchten, denn der Besucher
könnte sich ja den Quelltext der Eingabemaske in seinem
Browser
anzeigen lassen.
Was dann noch fehlt sind die Angaben
hinter SUCH_BILDER_KONST_NAME.
Hier geben Sie den Namen der Datei an, in der die Konstanten
für
die Anzeige von Bildern definiert sind. Bei mir liegt die
ebenfalls im Verzeichnis php, jedoch im
Unterverzeichnis bilder und dann im weiteren Unterverzeichnis inc
und heißt Bilder_IM_Konst.php.
Für
SUCH_START_NUTZEN_IM_LINK und auch für SUCH_ENDE_NUTZEN_IM_LINK
muss ich etwas vorgreifen. Bei den Arrays, die weiter unten in der
Datei Such_Erst_Config.php folgen können
Sie festlegen, welche Inhalte aus den Dateien nicht übernommen
werden sollen. Dies werden wohl auch HTML-Sequenzen sein, etwa, ein
Link auf eine Seite oder ein Link auf ein Bild oder ähnliches.
Wenn Sie jedoch bei einem Link etwa nachfolgendes zu stehen
hätten:
<a
href="http://www.heinz-juergen.schymura.de/"
target="_blank">Wanderwebseite</a>,
dann
würde natürlich auch das Wort Wanderwebseite
nicht mit in die SuchIndex.TXT übernommen werden, da
Sie ja vermutlich ab <a href= bis hin zu </a>
alles
entfernen lassen würden. Sie könnten jedoch jedoch
etwas spezielles nutzen, so dass auch innerhalb der zu entfernenden
Sequenzen noch nach "brauchbarem" gesucht werden kann. Ich
unterstreiche zum Beispiel das/die Wort(e), die ich doch
übernehmen möchte, ehe ich einen Link setze. Das
deshalb, weil die Links ja bei fast allen Besuchern auch unterstrichen
dargestellt werden. Es fällt also meist nicht auf, dass ich
auch noch zusätzlich unterstreiche. So würde also der
oben gezeigte Link bei mir so aussehen:
<a
href="http://www.heinz-juergen.schymura.de/"
target="_blank"><u>Wanderwebseite</u></a>
Nun
kann ich hinter SUCH_START_NUTZEN_IM_LINK <u> eingeben und hinter SUCH_ENDE_NUTZEN_IM_LINK </u> und schon wird das Wort Wanderwebseite in die Datei SuchIndex.TXT übernommen.
Mit dem ersten Benennen eines Arrays erzeugt man ein
Array, oder überschreibt ein bereits bestehendes Array mit
gleichem Namen.
$Ausschluss_Verzeichnisse = array("Ich bin das erste Element");
Dies würde ein Array mit den Namen $Ausschluss_Verzeichnisse erzeugen, das aus einem Element besteht.
An bestehende Array kann man neue Elemente anhängen durch
$Ausschluss_Verzeichnisse[] = ("Und ich das zweite");
Nun noch etwas zu der Zählweise bei PHP. Das erste Element hat die Zahl 0, das zweite die Zahl 1 und so weiter.
So
habe ich also bei allen verwendeten Arrays immer das erste (0) Element
genutzt, um den Sinn des Arrays zu beschreiben, im Menüsystem 1 wird
dies erste Element nie verwendet!
Bei meiner Wanderwebseite sind in der Datei Such_Erst_Config.php die Arrays so definiert:
$Ausschluss_Verzeichnisse = array("Ausgeschlossene Verzeichnisse");
$Ausschluss_Verzeichnisse[] =("_private");
$Ausschluss_Verzeichnisse[] =("_suchen");
$Ausschluss_Verzeichnisse[] =("images");
Ich habe also 3 Verzeichnisse total ausgeschlossen, die Dateien in ihnen werden nicht berücksichtigt.
$Ausschluss_DateiTypen= array("Ausgeschlossene Datei Typen");
$Ausschluss_DateiTypen[] =(".jpg");
$Ausschluss_DateiTypen[] =(".gif");
Und dann sind noch 2 Dateitypen ausgeschlossen.
$Html_sonderfall_entferne_start = array("Zu entfernende Html Sequenzen Start");
$Html_sonderfall_entferne_start[] =("<a href=");
$Html_sonderfall_entferne_start[] =("<form ");
$Html_sonderfall_entferne_start[] =("<script ");
$Html_sonderfall_entferne_start[] =("<img scr=");
Ich
will also die Linkstrings und auch die Inhalte von Formen, Scripts
etc. nicht mit in der Datei SuchIndex.TXT haben, es sei denn, ich
hätte sie wie oben beschrieben, extra gekennzeichnet.
$Html_sonderfall_entferne_ende = array("Zu entfernende Html Sequenzen Ende");
$Html_sonderfall_entferne_ende[] =("</a>");
$Html_sonderfall_entferne_ende[] =("</form>");
$Html_sonderfall_entferne_ende[] =("</script>");
$Html_sonderfall_entferne_ende[] =("\">");
Und
hier bei Ende der Sequenzen ist es sehr wichtig, dass ich die gleiche
Reihenfolge (von oben nach unten) einhalte, die ich beim Start
angewendet habe. Denn sonst würde das PHP-Quelltextprogramm
eventuell versuchen hinter den Beginn eines Scripts nach dem Ende eines
Links zu suchen!
Diese saubere Einhaltung der Reihenfolge ist bei
allen Arrays in allen Steuerdateien für das Menüsystem 1 extrem
wichtig.
Schon allein deshalb sollten Sie, wenn irgend möglich,
die Steuerdateien (Konstanten und Arrays) mit den
entsprechenden Generatoren erzeugen.
Außerdem sehen Sie hier in der letzten $Html_sonderfall_entferne_ende
Zeile ein von links nach rechts verlaufenden Schrägstrich vor
einem doppelten Hochkomma. Das bedeutet für PHP: Nehme diese
Hochkomma nicht als Zeichenbegrenzer einer Zeichenfolge sondern siehe
es als das Zeichen Hochkomma in einer Zeichenfolge an.
Wenn
Sie dann eine fertige Webseite haben, die mit diesem Menüsystem 1
arbeitet und sich dann die Datei SuchIndex.TXT mit dem
PHP-Quelltextprogramm Such_Erstellen.php erstellt haben, dann steht
einer Suche in Ihrer Webseite auch nichts mehr im Wege. Sie müssen
nur dafür sorgen, dass bei Änderungen und
Aktualisierungen jeweils eine neue SuchIndex.TXT erstellt wird.