Mam problem z wyrazeniem regularnym.
Potrzebuje wyciagnac do tablic informacje ze znacznikow:
[link:plik.htm] To jest moj link [/link]
Pattern nr 1:
Kod
'/\[link:([^\]]*)[\]]([^\[]*)\[\/link\]/'
Nie moge go użyć gdyż jeżeli w srodku znajdzie się znacznik [ to sie wszystko posypie., np.: [link:plik.htm] To jest [moj] link [/link]. Bo znalazl wczesniej znacznik [.
Mam pytanie jak zrobic patterna sprawzdajacy nie jeden znak a ciag, w sensie [^\[\/link\]] - bo w tej formie sprwadza dowolny z tych znaków.
Pattern nr 2:
Postanowilem uzyc .* do momentu wystapienia statycznego [/link]:
Kod
preg_match("/\[link:(.*)\](.*)\[\/link\]/",$str,$wynik);
Tutaj pojawia sie problem jezeli jest kilka obok siebie [/link] - bo zawsze (.*) patrzy do ostatniego a nie do pierwszego wystapienia.
Nie wiem czy jasno sie wyrazilem, w kazdym badz razie chodzi mi o sposob wrzucenia do zmiennej wszystkich znakow do momentu wystapienia okreslonego wyrazenia.
z gory dziekuje !
pozdrawiam
----
ok juz mi się udało. prawidłowa konwencja to: /\[link:(.*?)\](.*?)\[\/link\]/
pozdrawiam