PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Böse Wörter entfernen


FloRos
28.03.2002, 13:09:45
Folgendes Problem ich habe diese Funktion:

function badwordliste ($string)
{
include ("connection_data.php");
$ersatz="<font face='Tahoma' size=1>[BÖSES WORT]</font>";
foreach($badwordlist AS $erg){
$eintrag=preg_replace("=(s)($erg)(.)|(,)(s)=i", " $ersatz ", $string);
$eintrag1=array($eintrag);
}
}

Sie soll böse Wörter finden und dann in [BÖSES WORT] umwandeln. Das macht Sie auch allerdings nur beim ersten wort.

Ach ja die Wörter stehen in einem Array! und werden includet

Flo

bombel
29.03.2002, 13:27:48
Wie wärs, wenn Du das Array erstmal zählst?

int count(mixed var);

Ermittelt die Anzahl der Elemente in einem Array.

Die Funktion gibt 1 zurück, wenn var kein Array ist und 0, wenn die Variable nicht definiert war.

Dann kannst Du mit einer Schleife jedes Element des Arrays auf "böse Worte" überprüfen.

while ($anzahl>1) {
$anzahl--;
--- hier Deine Funktionen zum Wörter ersetzen ---
}

Sorry, daß ich keine Zeit hab, um für Dich das Script zu schreiben ;-)

Grüße, Uwe

cynos
29.03.2002, 23:19:56
Ich möchte so etwas ähnliches machen. Nur möchte ich eine Include-Datei abfangen, die ich mit fopen öffne und sie dann mit eval prase. Der Haken ist, dass die meisten Seite nicht mit PHP anfangen und ich nicht immer jede Datei mit ?> beginnen möchte. ;-)
Außerdem soll PHP erst geparsed werden und dann im Output etwas ersetzt werden.

Irgendwie bekomme ich es nicht gebacken...

Jan

bombel
30.03.2002, 10:12:49
Das hört sich aber auch etwas abenteuerlich an, wenn ich ehrlich sein darf. Ich bin mir nicht sicher, aber Du könntest zumindest mal statt include den Befehl require versuchen, da er ja im Gegensatz zu inlclude eine Datei in Deinen Source holt, als wäre der Inhalt direkt in Deinen Source geschrieben worden.
Was das Ersetzen NACH dem Parsen durch PHP angeht - ich glaube, daß das nicht möglich ist. Aber frag halt weiter, veilleicht hat doch jemand ne Idee.

Grüße, Uwe