Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] [function.preg-match] - jakiś błąd.
Forum PHP.pl > Forum > Przedszkole
michal_gdz
Witam.
Z góry uprzedzam że ja to z pierwszej grupy smerfów z przedszkola winksmiley.jpg

Mianowicie:
Pod szablon Wordpressa edytowałem grafikę i po zmianie kilku plików graficznych i danych (about, contact itd...) wyskoczył mi taki oto błąd:

CODE
Warning: preg_match() [function.preg-match]: Unknown modifier '/' in <<<ADRES SERWERA>>>/wordpress/wp-includes/classes.php on line 210

Warning: preg_match() [function.preg-match]: Unknown modifier '/' in <<<ADRES SERWERA>>>/wordpress/wp-includes/classes.php on line 211


domyśliłem się że chodzi o " / " lecz za cholerę nie mogę tego tam znaleźć:

CODE
if (preg_match("#^$match#", $request_match, $matches) ||
preg_match("#^$match#", urldecode($request_match), $matches)) {


najdziwniejsze jest w tym wszystkim to że u mnie na komputerze w domu wszystko jest ok (!), dopiero na innych komputerach pojawia się taki 'cud'

proszę o pomoc. liczę iż dobrze naświetliłem problem.

Pozdrawiam
bastard13
W $request_match widocznie masz znaki / ,a przy używaniu wyrażeń regularnych taki znak oznacza jakiś modyfikator. Aby funkcja poprawnie go interpretowała musisz zastąpić ten znak / tymi // (np. str_replace()).
U ciebie działa, bo pewnie zmienną odbierasz postem lub getem i masz włączone magic_quotes_gpc i automatycznie dodaje ci znaki ucieczki.
michal_gdz
Cytat(bastard13 @ 1.09.2010, 08:55:57 ) *
W $request_match widocznie masz znaki / ,a przy używaniu wyrażeń regularnych taki znak oznacza jakiś modyfikator. Aby funkcja poprawnie go interpretowała musisz zastąpić ten znak / tymi // (np. str_replace()).
U ciebie działa, bo pewnie zmienną odbierasz postem lub getem i masz włączone magic_quotes_gpc i automatycznie dodaje ci znaki ucieczki.


A czy byłbyś uprzejmy, pokazać mi w tych liniach gdzie to zmienić i przede wszystkim na co ?
Mam rozumieć że kiedy to zostania poprawnie zakodowane to żadne błędy nie będą się wyświetlać i wszystko będzie działać na każdym komputerze ?
to moje raczkowanie z PeHaPem.

Wiem że dla innych takie pytania są irytujące, ale każdy przecież kiedyś zaczynał. winksmiley.jpg
bastard13
zamiast $request_match użyj str_replace('/','//',$request_match).
Jeżeli to nie zadziała, to dodaj przed ifami var_dump($request_match) i napisz tutaj co ci wyrzuca.
michal_gdz
Cytat(bastard13 @ 1.09.2010, 09:25:16 ) *
zamiast $request_match użyj str_replace('/','//',$request_match).

dodałem i było cały czas to samo.

Cytat(bastard13 @ 1.09.2010, 09:25:16 ) *
Jeżeli to nie zadziała, to dodaj przed ifami var_dump($request_match) i napisz tutaj co ci wyrzuca.

Natomiast teraz takie coś się pojawiło.
Parse error: syntax error, unexpected T_IF in <<< ADRES SERWERA >>>/wordpress/wp-includes/classes.php on line 210
Noidea
Widocznie pod $match masz jakiś facebookowaty adres i robi się z tego:
  1. preg_match("#^http://adres.com/foo.php#/boo#", $request_match, $matches)


Wstaw przed tym ifem:
  1. $match = preg_quote( $match, "#" );
michal_gdz
dziękuję serdecznie Noidea !
pomogło smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.