preg_replace Fehlermeldung

Mayday171

Erfahrenes Mitglied
Hallo

Versuche bestimmte Strings in einem File, mithilfe von preg_replace zu ersetzen.
Leider funktioniert das nicht so wie es soll oder könnte.
PHP:
$inhalt = file("../user/memberlist.php");
# daten ersetzen
   $eintrag= preg_replace($prof,"",$inhalt);

$prof kommt aus einem Eingabefeld eines Formulares.

Fehlermeldung: " Warning: preg_replace() [function.preg-replace]: Empty regular expression in C:\Programme\xampp\htdocs\Homepage\1280 x 1024\admin\profilverwalten.php on line 39 "

Was mache ich falsch und wie mache ich es richtig ?

DANKE IM VORAUS!!

MfG
 
Wird in dem Eingabefeld ein RegEx eingegeben oder ein normaler Text?
Wenn es nur normaler Text ist dann reicht auch str_replace().
Ansonsten kann ich natuerlich die Lekture der Dokumenation zu preg_replace() empfehlen.

Und die obligatorische Frage: Wie sieht es mit register_globals aus?
 
Mit str_replace funktioniert es. Wollte aber das er den exakt eingegebenen String ersetzt.
Wenn ich z.B. im memberlist.php Strings mit neu,neu1,neu2,neu3 usw. hab und ich neu mithilfe des Eingabefeldes übergebe, will ich, dass er eben nur das "neu" löscht und nicht noch das neu von neu1, neu2 usw. entfernt.

Wie stelle ich das an?

MfG
 
Du musst pruefen ob das Wort kein Teilwort ist.
Das kannst Du mit RegEx machen.
Am besten indem Du pruefst ob vor und nach der Eingabe kein Buchstabe und keine Zahl kommt, das sollte reichen.
Satzzeichen und sowas sind ja in Ordnung.
 
Probier mal Folgendes:
PHP:
<?php

	$eintrag = preg_replace('/'.preg_replace('/,\s*/', '|', addcslashes($_REQUEST['prof'], chr(0x2F))).'/', '', $inhalt);

?>
 
Die ganze Sache funktioniert immer noch nicht so richtig. Habe den Code eingefügt, aber er löscht immer noch alle neu von neu1,neu2 usw.
Wie stelle ich das mit der Überprüfung an so das das alles klappt?

MfG
 
Zurück