2016-07-03 13 views
2

Dies ist wahrscheinlich das einfachste Problem aller Zeiten. Aber ich habe den Code nicht geschrieben und nicht kommentiert. Ich versuche nur, es zu beheben, weil es viele Probleme auf meiner Website verursacht. Es ist im Haupttext Parser-Code.preg_replace(): Unbekannter Modifikator '\'

Fehler: preg_replace(): Unbekannter Modifikator '\' Vollständiger Fehler: PHP Warnung: preg_replace(): Unbekannter Modifikator '\' in .../Ausschnitt/Text/Parser.php in Zeile 1192, Referer: Domain/Foren/

Code: http://pastebin.com/k98mpF8n Es gibt eine Menge davon, so ist dies der einfachste Weg, es zu tun. $ text ist der Parameter. Sieht aus wie ein schlechter Wortfilter, scheint aber mit vielen Dingen zu fehlen. Ich kann nicht herausfinden, was passiert ist, sorry. Es sei denn, du weißt, warum ich das könnte.

- 
$text = preg_replace('/(^|\W)' . preg_quote($test) . '(\W|$)/i', "\\1" . $replace . "\\2", $text); 
- 

Ich bin sicher, dass ich es gerade vermisse.

Jede Hilfe wird sehr geschätzt. Danke

+1

Ist Ihre Frage das, was Sie im Titel erwähnen? Ich kann keine andere Frage finden. Bitte lege die Hauptfrage in den Körper. –

+0

Aktualisieren Sie es. Entschuldigung, dass die Information nicht hinzugefügt wurde –

Antwort

1

preg_replace(): Unknown modifier tritt auf, wenn $test eine / enthält.

preg_quote($test); 

sollte

sein
preg_quote($test, '/'); 

/ die PCRE Trennzeichen ist in Ihrem '/(^|\W)...(\W|$)/i' Ausdruck verwendet.

PHP PCREs können ein beliebiges Trennzeichen haben, also müssen Sie preg_quote() mitteilen, welches Trennzeichen verwendet wird.
http://php.net/manual/en/regexp.reference.delimiters.php

+0

Danke. Dies hat den Fehler behoben :) –