Kolopik 222 Zgłoś post Napisano Styczeń 21, 2012 (edytowany) Witam, dziś programista wysłał mi pliki z dodatkiem do autosurfa. Jest to skrypt, który dodaje punkty poprzez kliknięcie na stronach użytkowników w "Lubię To". Mam mały problem, ponieważ występuje błąd: Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in/home/admin/domains/autosurf.net.pl/public_html/mod/facebook.php on line 158 158 linijka wygląda następująco: if (!preg_match('http', $strona)) { Nie wiem jak to naprawić. Przeszukałem trochę google, lecz bezskutecznie Używam PHP v5.3.9 Proszę o jakieś wskazówki. Z góry dziękuję! Pospieszyłem się z założeniem tego tematu. Rozwiązanie jest banalne, brakowało mi dwóch znaczników "^^". Ta linijka powinna wyglądać w ten sposób: if (!preg_match('^http^', $strona)) { Edytowano Styczeń 21, 2012 przez Kolopik (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Styczeń 22, 2012 chyba nie bardzo tak bo daszek oznacza poczatek wiersza i warunek bedzie zawsze falszywy, powinno byc '/^http/' Udostępnij ten post Link to postu Udostępnij na innych stronach
Piotr GRD 608 Zgłoś post Napisano Styczeń 22, 2012 (edytowany) To jest PCRE (Perl-Compatible Regular Expressions) i w kodzie brakowało ograniczników (delimiters). Więcej: http://pl.php.net/ma....delimiters.php Jeśli faktycznie dana fraza ma się zaczynać od "http", to tak jak napisał regdos #^http# (ja zazwyczaj używam krzyżyka). Jeśli natomiast "http" może występować gdziekolwiek - na początku, na końcu, wewnątrz przeszukiwanej frazy - to bez daszka ^, czyli tylko z dowolonymi ogranicznikami #http# /http/ ^http^ itp. Edytowano Styczeń 22, 2012 przez Piotr GRD (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach