Daniel B.: Function ereg_replace()

Hallo,

bei meinem Hoster wird die PHP Version auf 5.3.0 aktualisiert.
Bei einem PHP-Script wird die Funktion ereg_replace() verwendet und deshalb erhalte ich die Meldung:

Function ereg_replace() is deprecated

Habe mich nun schon mehrmals mittels Google und PHP Handbuch dran versucht, aber leider schaff ich es nicht.

Folgende Zeile ist in dem Script:

  
$sContentPath = ereg_replace("\./|\.\./", "", substr($_SERVER['PHP_SELF'], strpos($_SERVER['PHP_SELF'], "index.php")+10, strlen($_SERVER['PHP_SELF'])));

Nun hab ich gelesen, dass man nun preg_replace verwenden soll.

Wenn ich jetzt einfach ereg_replace mit preg_replace austausche, dann erhalte ich folgende Meldung:
Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash

Wenn ich es richtig verstanden habe, dann muss ja dieser Part ./|../ für preg_replace angepasst werden.

Aber hier steht ich völlig auf dem Schlauch, ich habe keine Ahnung wofür diese Zeichen stehen, und was damit erreicht werden soll.

Würd mich riesig freuen, wenn mir hierbei einer helfen könnte. Ich versuch mich hier ohne Ende, aber dies ohne den geringsten Erfolg.

Vielen Dank & Gruß

Daniel

  1. Hi,

    Wenn ich jetzt einfach ereg_replace mit preg_replace austausche, dann erhalte ich folgende Meldung:
    Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash

    Wenn ich es richtig verstanden habe, dann muss ja dieser Part ./|../ für preg_replace angepasst werden.

    Ja. Die ereg-Funktionen nehmen einen Ausdruck ohne die sog. Delimiter, die preg-Funktionen wollen aber welche haben.

    Aber hier steht ich völlig auf dem Schlauch, ich habe keine Ahnung wofür diese Zeichen stehen, und was damit erreicht werden soll.

    http://www.php.net/manual/en/reference.pcre.pattern.syntax.php

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]