Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenie regularne
-nieznany-
post
Post #1





Goście







Potrzebuję wyrażenia regularnego które znajdzie mi wszystkie znaki, aż do wystąpienia jakiegoś ciągu znaków.
Przykład
--WP
dfsdfs
df
-sd
sf
sd
--WP

powinno wyłapac

dfsdfs
dfsdfs
df
-sd
sf
sd

Kompinowałem z [^--WP]* ale to zatrzymuje się po znalezieni któregokolwiek ze znakó --WP
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Naprawdę już nie rozumiem co piszesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Daj może przykład ciągu i co chcesz osiągnąć, póki co jest:
  1. <?php
  2. $txt = 'abc
  3. --WP
  4. dfsdfs
  5. df
  6. -sd
  7. sf
  8. sd
  9. --WP
  10. asdas
  11. asd
  12. --WP
  13. asd
  14. cxad
  15. --WP
  16. asd';
  17.  
  18. preg_match_all( '/--([A-Z]+)(.*?)--\\1/s', $txt, $out );
  19.  
  20. $data = array();
  21. foreach( $out[ 1 ] as $id => $name )
  22. {
  23.  $data[ $name ][] = trim( $out[ 2 ][ $id ] );
  24. }
  25.  
  26. print_r( $data );
  27. ?>

Co w wyniku daje:
Kod
Array
(
    [WP] => Array
        (
            [0] => dfsdfs
df
-sd
sf
sd
            [1] => asd
cxad
        )

)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 01:25