Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrażenie regularne i &&
Forum PHP.pl > Forum > Przedszkole
IronStark
Witam, mam wyrażenie regularne

Kod
preg_match_all("/file=(.*)&&/U",$zrodlo, $wynik);


Niestety podwójny znak ampresand na końcu, sprawia, że w podglądzie tablicy (print_r) zamiast && na końcu wykrytego stringu jest &--> i wyrażenie nie działa poprawnie, tablica przestaje się wyświetlać.
Kiedy usunę ostatni znak & jest ok.
O co tutaj w ogóle chodzi ? siedzę już kilkadziesiąt minut i nie mogę tego rozkminić.

Czemu && zamienia się sam na &--> w moim wyrażeniu ?
Daimos
a & to nie jest przypadkiem specjalny znak? Jak dobrze pamiętam wink.gif poprzedź go \
  1. preg_match_all('/file=(.*)\&/U',$zrodlo, $wynik);
IronStark
niestety to nic nie daje, dalej dzieje się to samo.
Wygląda jak jakiś bug.

i jak ktoś chciałby zostać bohaterem w bugcenter i to sprawdzić ? smile.gif
Necsord
Nie wiem kompletnie o co chodzi po spróbowaniu tego regex'a, wziałem losowy ciąg znaków pasujący do wyrazenia wyświetliłem dump, print_r, printf i ciągle nie wiem.

Jakiś konkretny przykład może? Co używasz w $zrodlo, co uzysujesz, co według ciebie powinienes uzyskać.
IronStark
Cytat
preg_match_all('/file=(.*)\&/U',$zrodlo, $wynik);


np: cośtamxfile=http://link&&cośtamdalej

Powinno wyłuskać http:.//link , co się dzieje gdy jest jeden znak ampresand, jednak gdy sa dwa, dzieje się tak:

cośtamxfile=http://link&--> i tablica nagle się urywa
Necsord
  1. file=http://link&&
  2. Array ( [0] => Array ( [0] => file=http://link&& ) [1] => Array ( [0] => http://link ) )
  3. 0 =>
  4. 0 => string 'file=http://link&&' (length=18)
  5. 1 =>
  6. 0 => string 'http://link' (length=11)
  7. file=http://link&&

Kolejno printf, print_r, var_dump, echo dla "/file=(.*)&&/U". Nie widze problemu. Może jakiś html error?
IronStark
dzięki, że to sprawdziłeś.
Prawdopodobnie gdzieś jest jeszcze coś z mojej strony czego nie zlokalizowałem. Ale teraz wiem, że muszę szukać i idzie to rozwiązać. To rodzi nadzieję 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.