RegExp-Fehler: Compilation failed: PCRE does not support \L, \l, \N, \P ...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • RegExp-Fehler: Compilation failed: PCRE does not support \L, \l, \N, \P ...

    Hi,

    wie im Beitragstitel zu erkennen, habe ich ein Problem mit einem regulären Ausdruck. Der Befehl sieht so aus:

    PHP-Code:
    /*das Basisverzeichnis, ab dem gesucht wird*/
    var $basedir "/data/";
    /*relativer Pfad zum Basisverzeichnis*/
    var $reltobase "./";

    /*Hier folgt einiges an Code 
    ....
    .... */

    /*Die Methode, auf die es ankommt*/
    $subpat  "#".$this -> basedir."/#i";
    $arr["url"] = $this->reltobase.preg_replace($subpat,""$path."/".$file); //<--- hier knallt es 
    Die Fehlermeldung lautet:
    Warning: Compilation failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 3 in d:\Users\3002059549\Data\mensearchs.inc.php on line 253


    So, wie ihr seht, weiß ich jedenfalls wo der Fehler zu suchen ist, und bei Google hab ich ein paar Quellen gefunden, aus denen sich schließen lässt, dass es einfach ein Problem mit den Slashes/Backslashes in den Pfadangaben handelt.

    Nun zu meinem Problem:
    Das Problem tritt auf einem Webserver auf, auf den ich keinen Zugriff habe und ich wurde gefragt, ob ich das schnell beheben kann. Die Dateien habe ich alle bei mir lokal getestet, doch bei mir läuft alles reibungslos. Auf den eigentlichen Webserver habe ich jedoch leider keinen Zugriff um da rumzutesten. Kann mir also jemand genauer erklären, wo genau das Problem liegt? (Apachekonfiguration, PHP-Konfiguration, Betriebssystem, ?!?)
    [color=red]Geht nicht[/color] ist keine Fehlermeldung

  • #2
    Ohne Testausgaben lässt sich da eher wenig machen.

    Kommentar


    • #3
      Re: RegExp-Fehler: Compilation failed: PCRE does not support \L, \l, \N, \P ...

      kannst du dir wengistens mal das verwendete suchmuster zur kontrolle ausgeben lassen, damit man die fehlermeldung halbwegs einordnen kann?


      Das Problem tritt auf einem Webserver auf, auf den ich keinen Zugriff habe und ich wurde gefragt, ob ich das schnell beheben kann.
      dann sag denen, sie sollen dir einen zugriff einrichten, um das problem nachvollziehen zu können - oder sich andernfalls an einen wunderheiler oder voodoopriester wenden, die können's vielleicht auch ohne.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Zur weiteren Erklärung:

        Das Pattern steht ja in $subpat drin, sollte also "#/data//#i" sein.
        Und bei den Variable $path und $file handelt es sich jeweils um normale Pfadangaben, die durch das Auslesen von $basedir mit einer While-Schleife zustande kommen.

        @wahsaga
        Ist klar, dass es das einfachste wäre, wenn die mir die Rechte geben und ich kann dann rumspielen. Ich würde nur gerne abschätzen können, ob dieses Problem dann simpel zu lösen ist (vielleicht einfach ne Kleinigkeit am doch recht simplen Pattern ändern) oder ob was größeres auf mich zukommt. Ich hab nämlich eigentlich keine Zeit für sowas .
        Ich hab ja noch die Hoffnung, dass jemandem schonmal sowas untergekommen ist und er mir da spontan was dazu sagen kann.
        [color=red]Geht nicht[/color] ist keine Fehlermeldung

        Kommentar


        • #5
          Das Pattern steht ja in $subpat drin, sollte also "#/data//#i" sein.
          sollte, könnte, müsste...
          PHP-Code:
          echo '<pre>'.$subpat.'</pre>'
          schafft da Klarheit.

          und dann mal das 2.-4. Zeichen betrachten.

          Kommentar


          • #6
            @ankh: können vor lachen

            Kommentar

            Lädt...
            X