Ankündigung

Einklappen
Keine Ankündigung bisher.

Warning: preg_replace()

Einklappen

Neue Werbung 2019

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

  • Warning: preg_replace()

    Ich habe diesen kleinen Codeschnipsel und bekomme die unten angegebene Fehlermeldung
    PHP-Code:
    <?PHP
        
    function filterfilename($filename){
            
    $filename strtolower($filename);
            
    $filename preg_replace("/[^a-z0-9-/]/i","",$filename);
            if(
    $filename[0] == "/"){
                
    $filename substr($filename,1);
            }
            
    $filename .= ".php";
            if(!
    file_exists($filename)){
                
    $filename "content/articles/errors/404.php";
            }
            return 
    $filename;
        }
    ?>
    Fehlermeldung:
    Code:
    Warning: preg_replace(): Unknown modifier ']' in D:\Programme(x86)\XAMPP\htdocs\http_docs\system\filterfilename.php on line 4

  • #2
    /[^a-z0-9-/]/
    Deine Regex fängt mit einem Slash an und muss folglich auch mit einem aufhören. Hinter dem zweiten Slash stehen Modifier (bei dir z.B. das i) Jetzt gibt es in der eckigen Klammer aber auch schon einen Slash und PHP hält den für das Zeichen, dass hier Schluss mit dem Regex ist und da es keinen Modifer "[" gibt, spuckt PHP dir die Warnung aus.

    Richtig sollte es heißen:
    Code:
    /[^a-z0-9-\/]/
    LG
    https://github.com/Ma27
    Javascript Logic is funny:
    [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

    Kommentar

    Lädt...
    X