preg_match (): Kompilierung fehlgeschlagen: ungültiger Bereich in der Zeichenklasse bei Offset 20

8

Vielen Dank im Voraus für Ihre Zeit bei der Unterstützung dieses Problems.

  

preg_match (): Kompilierung fehlgeschlagen: ungültiger Bereich in der Zeichenklasse bei Offset 20 session.php in Zeile 278

Ich bin mir nicht sicher, warum dies nach Monaten der Arbeit ganz plötzlich funktioniert, könnte es ein Upgrade im Code sein.

Hier ist der Code

%Vor%     
user3841888 15.07.2014, 17:11
quelle

1 Antwort

14

Ein Zeichenklassenbereich wird definiert, indem - zwischen zwei Werten in einer Zeichenklasse ( [] in Regex) verwendet wird. [0-9] bedeutet alles zwischen 0 und 9, inklusive. Im regulären Ausdruck in Ihrem Code haben Sie mehrere Zeichenklassenbereiche, a-z , 0-9 . Es gibt auch eine Klasse, die Sie wahrscheinlich nicht nennen wollten, nämlich _-\s .

%Vor%

Dies wird in einigen (meisten?) Versionen von PCRE (die reguläre Ausdrucksbibliothek, die PHP verwendet) nicht als ein ungültiger Zeichenbereich betrachtet, aber es hat sich möglicherweise kürzlich geändert, und wenn die PCRE-Bibliothek auf dem Server aktualisiert wurde, könnte dies passieren der Grund sein.

Debuggex ist ein nettes Tool, das beim Debuggen von Fehlern helfen kann (gut, die Fehlermeldung von PHP hat euch beide die Zeile mitgeteilt) und das Zeichen, wo der Fehler war, also ..) so (ich bin nicht angegliedert, nur ein Fan).

    
MatsLindh 15.07.2014 19:59
quelle

Tags und Links