Server beim Filter schonen

Aser

Erfahrenes Mitglied
Tag
Die Suchfunktion habe ich bereits genutzt.

Ich habe da ein Forum
Jeder Post wird aus der Datenbank ausgelesen und ordnungsgemäß ausgegeben…

nun möchte ich einen Filter einbinden
-> der Filter soll extern sein, also .filter.php
diese filter.php wird dann eingebunden…
der Filter soll schliesslich in verschiedene Scripts eingebunden werden, d.h. dass die Variable, auf die sich der Filter beziehen soll, staendig anders heisst…

so sieht dann z.B. das Ausgabescript aus

PHP:
echo“bla bla bla“;
$kompliziertertext=“langer, komplizierter Mustertext“;

#Einbindung-----------
$text=$kompliziertertext;    #hier wird der Text aufs Standard fuen Filter umgeaendert
include“./filter.php“;
$kompliziertertext=$text;    #hier wird der bereits ueberarbeitete Text zurueckbenannt
#Einbindung----------

echo $kompliziertertext;
echo“bla bla bla“;
nun die erste konkrete Frage
Gibt es eine Möglichkeit, dass $text die zuletzt vorkmmende Variable als Wert uebenimmt?
also:
$text=${zuletzt.genannte.variable}


des Weiteren habe ich eine Datenbank, in der die ganzen Begriffe, die ersetzt werden sollen, vorhanden sind; selbstverständlich mit dem jeweils zu ersetzenden Text…

ich befürchte nun, dass es mit der Zeit, da diese Tabelle immer groesser wird, nicht ratsam ist nach jedem Wort, das in der Datenbank vorhanden ist, im Text zu suchen um es ersetzen zu lassen
es ist ja schliesslich unsinnig fuer einen 20-Wort-langen-Text 200-Tabelleneinträge durchlaufen zu lassen

mein Vorschlag wäre nun, dass der gesamte Text nach Leerzeichen getrennt wird, und fuer jeden der Werte, die sich zwischen Leerzeichen befinden, einmal kontrolliert wird, ob dieser Wert dann in der Datenbank vorhanden ist; falls ja, so wird er ersetzt, nun werden alle Werte wieder zusammengefügt:rolleyes:
letztendlich soll es dann wie in Wikipedia laufen, falls fuer ein Geschriebenes Wort ein Eintrag vorhandne ist, soll dieses Wort “unterstrichen“ ausgegeben werden
die zweite Frage:
Was ist von der Serverbeanspruchung am günstigsten?
Bei der zweiten Variante habe ich allerdings auch das Problem, dass Smileys/etc sich mitten im Text befinden, dann muesste ich am Schluss noch 50Durchläufe aufgrund der 50Smileys machen…
[bild]bla bla[/bild] is alledings auch zusammengeschrieben, bei der zweiten Variante müsste ich zusätzlich für jeden Wert überprüfen, ob er mit einem “[bild]“ beginnt

also dann mal vielen Dank im Voraus
 
Für das erstgenannte Problem könntest du ganz einfach eine eigene Funktion einsetzen und den gewünschten Variablenwert übergeben.

Was die Auszeichnung von Stichworten angeht, weiß ich, dass bei Wikipedia die Stichworte auch alle manuell ausgezeichnet sind (siehe „Wie einen Link setzen“). Alles andere wäre auch äußerst ineffektiv.
 
Zurück